![](https://images.gutefrage.net/media/default/user/12_nmmslarge.png?v=1551279448000)
![](https://images.gutefrage.net/media/default/user/13_nmmslarge.png?v=1551279448000)
Hallo Johannes,
man könnte vielleicht sogar noch ein wenig präziser in der Beantwortung werden insofern, als es verschiedene Informationscodes in der Matrix gibt, die wenig Alternativen offen lassen. Diese lassen sich merken und so kann man immerhin schon mal feststellen, ob die Nachricht hochredundand (als mit einer großen Ausfallsicherheit) verschlüsselt wurde, mit welchem Muster die Automatik geXORt wurde und wie viele Buchstaben die Nachricht enthält. Die einzelnen Buchstaben (oder nur Ziffern für eine Verschlüsselung mit minimalem Speicheraufwand) sind immer in 8-Bit Blöcken aufgeteilt. Hier beginnt im Grunde der Grund, warum Du zu 'Wetten Dass' kannst, wenn Du jeden Code lesen kannst. Selbstverständlich läßt sich der Code im Grunde auch lesen - Es is reine Mathematik. Alles, was sich VERschlüsseln läßt, läßt sich natürlich auch wieder ENTschlüsseln. Die 8-Bit Blöcke repräsentieren Dezimalzahlen, die entsprechend einer ISO-Tabelle ASCII-Zeichen entsprechen. (Zugegeben - für spezielle Zeichensätze können die Dezimalzahlen auch größere, als 8-Bit Blöcke sein, die allerdings dennoch 8Bit-weise aufgeteilt werden) Für einfache QR-Codes müsstest Du also.... zunächst anhand einer bestimmten Stelle in der Matrix feststellen mit welchem von acht Mustern das errechnete Muster überlagert wurde. Dieses müsstest Du wieder davon abziehen. Danach fängst Du von rechts unten nach links oben in Zweierspalten an in Schleifen die Bits auszulesen. Die ersten vier geben an, ob es sich um einen rein numerischen, nen alphanumerischen oder einen Zeichencode handelt - Danach immer 8Bit notieren, die Dezimalzahl ausrechnen und dann das ASCII-Zeichen in der ISO-Tabelle nachsehen - Irgendwann kommen, falls die Menge an Information nicht komplett ausgeschöpft ist im Wechsel die Zahlen 236 und 17. Ab hier kannst Du aufhören. Mehr steht nicht mehr drin Alles weitere sind Füllcodes und Redundanzcodes. Wohlgemerkt: Wir sprechen von einfachen(!) Codes! - Ab Codegröße 3 mit ner mittleren Redundanz wird die Information wiederum anhand einer weiteren Tabelle in Blöcke geteilt und immer 8Bit abwechselnd aus den Blöcken hintereinander verzahnt. Grundsätzlich ist es also möglich, aber die Fehlerquellen sind derart mannigfaltig, daß man zumindest Bleistift und Papier nehmen sollte :-D
Liebe Grüße aus Köln!!