go识别二维码大码

fordZrx · · 2767 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

问题:由于业务原因,需要识别由base64编码字符串生成的二维码大码,尝试使用 github.com/makiuchi-d/gozxing 和 github.com/tuotoo/qrcode 进行识别,但都会出现识别失败的情况,大佬们有解决方案或其它包吗?万分感谢 先上代码,二维码在下面 1、使用 github.com/makiuchi-d/gozxing 解析二维码1、2、3正常 解析二维码4报 `NotFoundException: NotFoundException: (w, h) = (400, 400), (x, y) = (55, -2)` ```` package test import ( "encoding/base64" "fmt" "github.com/makiuchi-d/gozxing" "github.com/makiuchi-d/gozxing/qrcode" "image" "os" "testing" ) func TestNewBinaryBitmapFromImage(t *testing.T) { // 读取二维码 fi, err := os.Open("./4.png") if err != nil { fmt.Println(err.Error()) return } defer fi.Close() // 解析二维码 img, _, _ := image.Decode(fi) bmp, _ := gozxing.NewBinaryBitmapFromImage(img) qrReader := qrcode.NewQRCodeReader() result, err := qrReader.Decode(bmp, nil) if result == nil || err != nil { fmt.Println(err) return } fmt.Println(result) // base64解码 infoByte, err := base64.StdEncoding.DecodeString(result.String()) if err != nil { fmt.Println(err.Error()) return } fmt.Println(string(infoByte)) } ```` 2、使用 github.com/tuotoo/qrcode 解析二维码4正常 解析二维码1、2、3解析内容不完整,导致base64解码失败 ```` package test import ( "encoding/base64" "fmt" "github.com/tuotoo/qrcode" "os" "testing" ) func TestTuotooQrcode(t *testing.T) { // 读取二维码 fi, err := os.Open("./4.png") if err != nil { fmt.Println(err.Error()) return } defer fi.Close() // 解析二维码 qrmatrix, err := qrcode.Decode(fi) if err != nil { fmt.Println(err.Error()) return } fmt.Println(qrmatrix.Content) // base64解码 infoByte, err := base64.StdEncoding.DecodeString(qrmatrix.Content) if err != nil { fmt.Println(err.Error()) return } fmt.Println(string(infoByte)) } ```` 二维码1 ![1.png](https://static.golangjob.cn/220629/6d8a876ffc2fb8f6bc76b67fc6f7d4f9.png) 二维码2 ![2.png](https://static.golangjob.cn/220629/2850a66cf3c77a4c94c61852531d9494.png) 二维码3 ![3.png](https://static.golangjob.cn/220629/843e66252ae440ec92bee42f53b2f774.png) 二维码4 ![4.png](https://static.golangjob.cn/220629/557ee7e4f93eb831b3ebeaec01600390.png)

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

2767 次点击  
加入收藏 微博
1 回复  |  直到 2022-07-04 11:14:45
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传