我试图将二进制数据存储在二维码中。显然,QR码确实支持存储原始二进制数据(或ISO-8859-1/Latin1)。这是我想要的编码(十六进制):以二维码存储二进制数据
d1 50 01 00 00 00 f6 5f 05 2d 8f 0b 40 e2 01
我已经试过以下编码:
- Google Charts
-
解码与zxing.org生产各种不正确的结果。该两个JavaScript的人产生这样(这是错的;第一个文本字符应该是N
而谷歌图表生成此...
发生了什么事是?这些都是正确的吗?真奇怪的是,如果我编码这个序列(至少使用JS),那么它就可以正常工作 - 我原以为这个问题是非ASCII字符,但是Ñ(0xd1
)是非ASCII。
d1 50 01 00 00 00 01 02 03 04 05 06 40 e2 01
有谁知道发生了什么事?
更新
它发生在我尝试使用基于zbar和扫描仪应用程序,我发现扫描它们。它可以扫描两个JS版本(至少它们以ÑP开头)。谷歌图表一个是错误的。所以这似乎是ZXing的问题(这是令人惊讶的狗屎 - 我不会推荐给任何人)。
更新2
zbar和不能处理空字节。 :-(
各种编码都是可能的,只是解释的问题。我猜你会使用二进制模式('0100'),所以你的输入应该很清楚,但输出会要求你自己编写代码。像Binary2Hex .. – DanFromGermany
那么qrcode.js至少声称* only *支持8位模式。我很确定这只是解码器中的错误(ZXing完全被搞砸了,而ZBar使用以null结尾的字符串; yeay C)。 – Timmmm