zxing解码时中文的问题

知识备忘

警告
本文最后更新于 2023-04-25,文中内容可能已过时。
tips

python的zxing在解码中文的时候会UnicodeDecodeError

最近要配置了几个服务器的环境 打算记录一下这个问题 以便以后查看

image-20230425212809227

经典的报错

网上能搜到解决办法

打开zxing的文件夹,修改__init__.py

应改代码的具体行数不固定,在BarCode类的parse函数

1
2
raw = raw[:-1].decode()
parsed = parsed[:-1].decode()

修改为

1
2
3
4
5
6
try:
    raw = raw[:-1].decode()
    parsed = parsed[:-1].decode()
except UnicodeDecodeError:
    raw = raw[:-1].decode(encoding = 'gbk')
    parsed = parsed[:-1].decode(encoding = 'gbk')

注意缩进

其实还是编码问题

不过还有一个问题,就是关于qrcode解码非可打印字符的问题

我一直没找到python的库,二进制数据解码出来总会损失一部分ascii码表外的字符

现在还是用的zbarimg

0%