Originally Posted by
jack445
I haven't really been posting here too much before but if it's useful for you in any way, I'll be more than happy to help.
Recently, I've been creating a program to generate QR codes (sadly, I can't share the source code of it), however I can share with you how the data is encoded there.
Due to my postcount being too low, I can't post all those links. You'll have to change h**p to http manually.
QR codes have an ability to encode data in numeric, alphanumeric or 8-bit byte modes. Each mode handles input data in a different way:
- in numeric mode the input is divided into groups of 3 digits starting from the left (most significant) digit. After that, those 3-digit numbers are converted into 10-bit binary representation. If the last numer contains only 2 or 1 digit it is converted to 7 and 4 bits respectively.
- in alphanumeric mode the input data is divided to groups of 2 letters, starting from the left as well. Letters are given the numeric value according to the encoding table (h**p://i.imgur.com/m6HwR.jpg). Those groups of 2 values (assigned to letters) are then encoded as following: 45*first_val+second_val
- in 8-bit mode there's no encoding, at all, 8-bit bytes are directly added to the data bit stream
From what I've seen so far, the account name is added to the WoW's barcode in 8 bit byte pieces, each in reversed order. This is almost the same as QR code 8-bit mode, while the rest of the data such as realm time/realm ip etc. are somewhat encoded, which I guess will be similar to QR code's numeric/alphanumeric encoding.
As a sidenote, those wondering how QR code is filled with data/error correction bytes:
- byte placement: h**p://i.imgur.com/GAhmJ.jpg
- bit placement: h**p://i.imgur.com/YMVBG.jpg
Hope someone finds it useful. If you have any further question about QR codes, I'll try to help.