我試圖將二進制數據存儲在二維碼中。顯然,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