Text:
Die Blume blüht jetzt wunderschön im Garten. Im Jahre 2011 haben wir sie gepflanzt.

Es sind 83 Zeichen, für den Korrekturgrad Q ergibt sich also Version 7 (siehe Vorgabenseite) mit maximal 86 Zeichen.

Los geht's:

VorgangBitfolge danach
Es gibt im Text Großbuchstaben und Kleinbuchstaben ... wir verwenden den Byte-Modus mit der Bitkennung 01000100
Die Vorgaben zu Version 7 Level Q
Bild mit Maske 2
Beispiel2
im Byte-Modus maximal 86 Zeichen
Es gibt 6 Blöcke:
2 Blöcke mit jeweils 14 Bytes in Gruppe 1   und
4 Blöcke mit jeweils 15 Bytes in Gruppe 2
alle 6 Korrekturbytes-Blöcke haben jeweils 18 Bytes
Es sind 83 Zeichen zu kodieren; für Version 1 bis 9 müssen für die Zeichenanzahl 8 Bits, bei höheren Verionen 16 Bits verwendet werden.
Version 7: 83 als Dualzahl mit 8 Bits ergibt 01010011
0100 01010011
Jetzt kommen die Nachrichtenbytes, Terminator, Füllbytes wie in Beispiel 1 nacheinander in der Bitfolge dazu. 0100
01010011
01000100   01101001   01100101   00100000     ....   010 00010011011000111010101101101011001010010000001 10001001101100111111000110100001110100001000000 11010100110010101110100011110100111010000100000 01110111011101010110111001100100011001010111001 00111001101100011011010001111011001101110001000 00011010010110110100100000010001110110000101110 01001110100011001010110111000101110001000000100 10010110110100100000010010100110000101101000011 10010011001010010000000110010001100000011000100 11000100100000011010000110000101100010011001010 11011100010000001110111011010010111001000100000 01110011011010010110010100100000011001110110010 10111000001100110011011000110000101101110011110 10 01110100 00101110
0000
11101100 00010001 11101100
Jetzt wird es mit diesen langen Bitfolgen schon sehr umständlich!!
Wir gruppieren wieder in 8-Bit-Pakete und schreiben jetzt aber die Bytes als Dezimalzahl!
Es ist (etwas) übersichtlicher.
Es ergeben sich 88 Daten-Bytes ... (siehe Spalte ""Number of DB" bei den Vorgaben)
(Gr.1 - 2 Blöcke/ Gr.2 - 4 Blöcke)   2*14 + 4*15 = 88

  69  52  70 150  82   4  38 199  86 214
  82   6  38 207 198 135  66   6 166  87
  71 167  66   7 119  86 230  70  87  39
  54  54 143 102 226   6 150 210   4 118
  23  39  70  86 226 226   4 150 210   4
 166  22 135  38  82   3  35   3  19  18
   6 134  22  38  86 226   7 118 151  34
   7  54 150  82   6 118  87   6 102 198
  22 231 167  66 224 236  17 236 

Wir belegen nacheinander die Blöcke mit den Datenbytes: zuerst die Gruppe 1 ab Block 1, dann die Gruppe 2 ab Block 1. Gr. 1 - Block 1  mit   14 Datenbytes
      69   52   70   150   82   4   38   199   86   214  
      82   6   38   207

Gr. 1 - Block 2  mit   14 Datenbytes
      198   135   66   6   166   87   71   167   66   7  
      119   86   230   70  


Gr. 2 - Block 1  mit   15 Datenbytes
      87   39   54   54   143   102   226   6   150   210  
      4   118   23   39   70

Gr. 2 - Block 2  mit   15 Datenbytes
      86   226   226   4   150   210   4   166   22   135  
      38   82   3   35   3  

Gr. 2 - Block 3  mit   15 Datenbytes
      19   18   6   134   22   38   86   226   7   118  
      151   34   7   54   150

Gr. 2 - Block 4  mit   15 Datenbytes
      82   6   118   87   6   102   198   22   231   167  
      66   224   236   17   236

Für jede Gruppe werden nun mit den eigenen Gruppenbytes jeweils 18 Korrekturbytes errechnet: Gr.   1   -   Block   1
      175   176   247   32   145   123   1   33   26   165
      6   11   61   224   238   80   208   40  

Gr.   1   -   Block   2
      59   193   218   229   168   174   1   87   32   208
      85   215   199   218   237   99   123   223


Gr.   2   -   Block   1
      196   241   54   170   32   172   2   175   19   102
      22   239   35   239   241   255   118   141

Gr.   2   -   Block   2
      117   105   17   27   88   46   22   71   178   205  
      198   105   24   167   104   41   172   193

Gr.   2   -   Block   3
      74   2   64   217   157   127   30   228   139   6
      244   195   230   161   202   165   112   77

Gr.   2   -   Block   4
      61   140   242   46   137   71   175   200   17   125
      250   67   203   220   38   46   36   28  
Jetzt haben wir alle Bits!! Aber: Die Reihenfolge des Einbaus der Bits in das QR-Feld ist etwas "komplizierter".
Einbauregel:
Zuerst werden alle Datenbytes (wie bei Beispiel 1 von rechts unten aus) eingebaut:
Reihenfolge:
Alle Bits der ersten Gr.-Zahlen - 69 198 87 86 19 82     dann
alle Bits der zweiten Gr.-Zahlen - 52 135 39 226 18 6     dann
alle Bits der dritten Gr.-Zahlen .... und so weiter
am Ende sind es aber in der Gruppe 2 jeweils eine Zahl mehr
die Bits dieser Zahlen werden angefügt - 70 3 150 236

Danach alle Korrekturbytes - auch wieder gruppenweise
erste alle 1. Zahlen, dann alle 2. Zahlen, etc.
Alle Zahlen mit ihren Bits ...
Datenbytes:
69 198 87 86 19 82 52 135 39 226
18 6 70 66 54 226 6 118 150 6
54 4 134 87 82 166 143 150 22 6
4 87 102 210 38 102 38 71 226 4
86 198 199 167 6 166 226 22 86 66
150 22 7 231 214 7 210 135 118 167
82 119 4 38 151 66 6 86 118 82
34 224 38 230 23 3 7 236 207 70
39 35 54 17 70 3 150 236

ECC-Bytes:
175 59 196 117 74 61 176 193 241 105
2 140 247 218 54 17 64 242 32 229
170 27 217 46 145 168 32 88 157 137
123 174 172 46 127 71 1 1 2 22
30 175 33 87 175 71 228 200 26 32
19 178 139 17 165 208 102 205 6 125
6 85 22 198 244 250 11 215 239 105
195 67 61 199 35 24 230 203 224 218
239 167 161 220 238 237 241 104 202 38
80 99 255 41 165 46 208 123 118 172
112 36 40 223 141 193 77 28
Nur zur Kontrolle alle Bits, die ersten .... und letzten Bits genauer beschrieben:
Start rechts unten
nach oben: 01000101 11000110 01010111 01010110 00010011 01010010 00110100 10000111 00100111
nach unten: 11100010 00010010 00000110 01000110 01000010 00110110 11100010 00000110 01110110
nach oben: 10010110 Alignment 00000110 00110110 000001-Alignment-00 10000110 01010111 0101
nach unten: 0010 10100110 10001111 10-Alignment-010110 00010110 00000110 Alignment 00000100
nach oben: 01010111 0.1.1.0.0.110 11010010 00100110 0110.0.1.1.0. 00100110 01000111 11100010 00
nach unten: links vom Versionbereich abwärts: 0.0.0.1.0.0.
unter dem Timer normal weiter 01010110 11000110 ....
1100011110100111000001101010011011100010000101100101011001000010100101100001011
0000001111110011111010110000001111101001010000111011101101010011101010010011101
1100000100001001101001011101000010000001100101011001110110010100100010001011100
0000010011011100110000101110000001100000111111011001100111101000110001001110010
0011001101100001000101000110000000111001011011101100101011110011101111000100011
1010101001010001111011011000011000001111100010110100100000010100011001111011111
0110100011011000010001010000001111001000100000111001011010101000011011110110010
0101110100100011010100000100000010110001001110110001001011110111010111010101100
0010111001111111010001110000000100000001000000100001011000011110101011110010000
1010101111010111101000111111001001100100000011010001000000001001110110010100010
1100010001101001011101000001100110110011010000011001111101000001100101010100010
1101100011011110100111110100000101111010111111011110110100111000011010000110011
1101110001110010001100011000111001101100101111100000110110101110111110100111101
0000111011100111011101110110111110001011010001100101000100110010100000110001111
111111001010011010010100101110110100000111101101110110 10101100 01110000 001001-
ganz links nach unten: -00 00101000 11011111 10001101 11000001 01001101 00011100

    unmaskiert (obige Bitpositionen sind leicht nachprüfbar)
Beispiel2 unmaskiert

    mit Maske 2 maskiert (Reader-lesbar!)
Beispiel2 M2 maskiert