Greetings,

I'm creating a barcode application and when I google to know about barcode I found something that I did not understand and it is the odd left, even left and right digits for example the EAN-13 barcode includes the following

```
OddLeft = new String[] { "0001101", "0011001", "0010011", "0111101",
"0100011", "0110001", "0101111", "0111011",
"0110111", "0001011" };
EvenLeft = new String[] { "0100111", "0110011", "0011011", "0100001",
"0011101", "0111001", "0000101", "0010001",
"0001001", "0010111" };
Right = new String[] { "1110010", "1100110", "1101100", "1000010",
"1011100", "1001110", "1010000", "1000100",
"1001000", "1110100" };
```

Where every string within the string array represents a number from 0 to 9.

How can decimal 0 equals "0001101" in odd left or "0100111" in even left or "1110010" in right. How did they calculate it?

I know the binary representation of decimal 0 and none of the 3 representations above represents a binary represetation of decimal 0.

I read about parity bits too and I found the none of the 3 representations above represents odd or even parity bits of decimal 0.

Is those representations above are standard fixed representation? or there is a way or a calcuation performed to obtain such representation?