Vor Kurzem haben wir ziemlich oft über den QR Code und über die Möglichkeiten der Arbeit mit ihm in unseren Softwares geschrieben


Aber haben wir nicht über technische Besonderheiten geschrieben. Heute erzählen wir über die Datenverschlüsselung im QR Code und mögliche Probleme, die mit der Verschlüsselung verbunden werden können.

Der allgemeine Algorithmus der Verwendung von Verschlüsselungen

Der QR Code unterstützt verschiedene Modi der Informationsaufzeichnung. Gewöhnlich, der Algorithmus der Auswahl des Modus funktioniert wie folgt: die Eingabedaten werden zuerst analysiert, und wird geprüft, ob sie in einem der kompakten Modi (Numeric, Alphanumeric, Kanji) aufgezeichnet werden können. Wenn es unmöglich ist, wird der Byte-Modus verwendet werden.

Im Byte-Modus werden alle Eingabedaten mit Hilfe von einer Verschlüsselung aus der ECIT-Liste (Extended Channel Interpretation) verschlüsselt. Der Algorithmus prüft jede Verschlüsselung der Reihe nach und legt fest, ob man mit ihrer Hilfe alle Symbole der Eingabedaten verschlüsseln kann. Wenn keine geeignet ist, wird universelle Verschlüsselung „UTF-8“ verwendet.

Alle diesen Aktionen versuchen die Größe des QR Codes zu minimieren, weil im UTF-8-Modus der QR Code maximale Größe hat.

Die Liste der Verschlüsselungen des ECI-Standards, die in unserem Produkt unterstützt werden:

  • "Cp437";
  • "ISO-8859-1";
  • "ISO-8859-2";
  • "ISO-8859-3";
  • "ISO-8859-4";
  • "ISO-8859-5";
  • "ISO-8859-6";
  • "ISO-8859-7";
  • "ISO-8859-8";
  • "ISO-8859-9";
  • "ISO-8859-11";
  • "ISO-8859-13";
  • "ISO-8859-15";
  • "Shift_JIS";
  • "Windows-1250";
  • "Windows-1251";
  • "Windows-1252";
  • "Windows-1256";
  • "UTF-8".
Bemerkung: für die JS-Version sind wenige Anzahl von Verschlüsselungen unterstützt (wegen der technischen Begrenzungen der Technologien):

  • "ISO-8859-1";
  • "Windows-1250";
  • "Windows-1251";
  • "Windows-1252";
  • "Windows-1256";
  • "UTF-8".

Das Problem der falschen Verschlüsselung

Verschiedene Barcode-Lesegeräte können verschiedene Verschlüsselungssätze für Dekodierung von QR Codes unterstützen. Zum Beispiel, die Barcodescanner in einigen Ländern unterstützen nur die in diesem Land am häufigsten verwendeten Verschlüsselungen.

Außerdem, viele mobilen Anwendungen für Lesen von Barcodes unterstützen nur bestimmte Verschlüsselungen, und einige Anwendungen unterstützen nicht den Standard ECI.

Zum Glück, heutzutage, die meisten Geräte können die Verschlüsselung UTF-8 verarbeiten.

Einige Verschlüsselungen in dieser Liste sind ähnlich. Zum Beispiel, ISO-8859-5 und Windows-1251 enthalten die kyrillischen Zeichen. Darum hängt es nur von Eingabedaten ab, welche Verschlüsselung für den Text verwendet wird. Einige Scanner funktionieren nicht mit der Verschlüsselung ISO-8859-5 und fordert nur die Verwendung von Windows-1251.

Lösung

Wenn es erforderlich ist, die Verschlüsselung, mit der man die Auswahl starten muss, anzugeben, gibt es in unserer Softwares eine statische Eigenschaft StiOptions.Engine.BarcodeQRCodeDefaultByteModeEncoding.

Zum Beispiel, legen wir die Verschlüsselung Windows_1251 als erste:

StiOptions.Engine.BarcodeQRCodeDefaultByteModeEncoding = Stimulsoft.Report.BarCodes.StiQRCodeECIMode.Windows_1251;

Das Problem von „drei zusätzlichen Symbolen am Anfang des Barcodes“

Manchmal klagen die Benutzer über zusätzliche Symbole, die am Anfang eingescannter Information erscheinen. Das ist kein Fehler, sondern die Besonderheit der Verschlüsselung der Information im Barcode. Wenn die Eingabedaten mit UTF-8 verschlüsselt werden, fügen viele Programme (einschließlich Stimulsoft-Tools) ein Präfix BOM (Byte Order Mark) vor die Daten hinzu. Dieses Label ist eine Marke für einige Anwendungen, sie hilft die Verschlüsselung festlegen. Aber nicht alle Lesegeräte können das BOM-Label erkennen, und in diesem Fall werden drei zusätzliche Symbole  im Anfang des Textes erschienen.

Lösung

Um diese Situation zu vermeiden und zur Eingabedaten kein BOM-Label hinzuzufügen, stellen Sie die Option StiOptions.Engine.BarcodeQRCodeAllowUnicodeBOM auf false.
Wenn Sie noch Fragen haben, kontaktieren Sie uns.
By using this website, you agree to the use of cookies for analytics and personalized content. Cookies store useful information on your computer to help us improve efficiency and usability. For more information, please read the privacy policy and cookie policy.