1

有人知道是否有办法使用 android vision API 获取 QR 码的原始二进制数据?我正在阅读的 QR 码中包含二进制数据(包括 NUL 字符),但采用 8 位编码构建,因此完整的二进制数据块就在那里。返回的 Barcode 对象非常有用,在 rawValue 字段中包含字符串“未知编码”,而不是我的二进制数据?感谢您的任何想法!

4

1 回答 1

2

为了回答我自己的问题,如果二维码中未指定编码(或默认保留),android vision 和 zxing 库似乎都将字节转换为 utf8。我认为默认编码是 ISO8859-1,但库不假设。二维码是在 linux 中使用 libqrencode 生成的。生成时将 QR 码中的 ECI 标头设置为 1 会导致 android 库保留二进制数据。因此,读取字节数组barcodes.valueAt(0).displayValue.getBytes("iso-8859-1"); 会返回精确的编码字节。

于 2016-07-21T14:18:17.140 回答