Ich versuche, binäre Daten in einem QR-Code zu speichern. Anscheinend unterstützen QR-Codes das Speichern roher Binärdaten (oder ISO-8859-1/Latin1). Hier ist, was ich (hex) kodieren möchten:Speichern von Binärdaten in QR-Codes
d1 50 01 00 00 00 f6 5f 05 2d 8f 0b 40 e2 01
Ich habe versucht folgende Geber:
Dekodierung mit zxing.org produziert verschiedene falsche Ergebnisse. Die beiden Javascript diejenigen produzieren diese (es ist falsch, das erste Textzeichen sollte Ñ sein
Während Google Charts diese produziert ...
Was geht hier sind.? Wenn ich diese Sequenz kodiere (zumindest mit den JS-Einsen), dann funktioniert das gut - ich hätte gedacht, das Problem wären Nicht-ASCII-Zeichen, aber "(0xd1
) ist Nicht-ASCII.
d1 50 01 00 00 00 01 02 03 04 05 06 40 e2 01
Weiß jemand, was vor sich geht?
aktualisieren
Es fiel mir ein, scannen sie mit einem ZBar-basierten Scanner App zu versuchen, fand ich. Es scannt beide JS-Versionen in Ordnung (zumindest beginnen sie mit "P"). Bei den Google Charts stimmt man einfach nicht. Es scheint also, dass das Problem bei ZXing liegt (was überraschend scheisse ist - ich würde es niemandem empfehlen).
aktualisieren 2
ZBar kann nicht null Bytes verarbeiten. :-(
Alle Arten von Kodierungen sind möglich, nur eine Frage der Interpretation. Ich nehme an, du würdest 'binary mode' (' 0100') verwenden, damit deine Eingabe klar funktioniert, aber die Ausgabe würde es erfordern, dass du es selbst codierst. Wie Binary2Hex .. – DanFromGermany
Well qrcode.js behauptet mindestens * nur * 8-Bit-Modus zu unterstützen. Ich bin mir ziemlich sicher, dass es nur Bugs in den Decodern sind (ZXing ist total geschraubt, und ZBar verwendet nullterminierte Strings; yeay C). – Timmmm