Довольно сложным и неочевидным способом. Вообще (если говорить о стандарте EAN13/UPS) каждая цифра (кроме последней 13-й) кодируется семью битами. Итого код содержит 84 бита в виде черных (единица) и белых (ноль) полосок, не считая синхронизирующих. Причем существуют три способа кодировки, которые в пределах одного кода чередуются, и этим чередованием первой и второй кодировок на левой половине кода кодируется последняя, 13-я цифра -- своеобразная стеганография. Правая часть кода закодирована третьим вариантом. Первый и второй вариант кодировки соотносится, как позитив и негатив, тогда как третий со вторым -- как зеркальное отражение (что нужно для корректного начала считывания кода "задом наперед").
Таким образом, считав последовательность бит в любом положении (справа налево или слева направо), в позитиве или негативе, всегда можно определить правильную последовательность из 12 цифр. Как можно заметить, нулевые и единичные биты "кучкуются" группами по 1,2,3 и 4, таким образом, код образован полосками одно-, двух, трех и четырехкратной ширины (как белыми, так и черными), при этом каждая цифра всегда содержит два белых и два черных штриха разной ширины.
Тринадцатая цифра (стоящая первой в цифровой записи кода!) кодируется шестью битами, которые определяются тем, по какой кодировке закодированы первые 6 цифр штрих-кода: единица соответствует второй кодировке, ноль -- первой. Таблица соответствия двоичных кодов цифрам:
0 -- 000000
1 -- 001011
2 -- 001101
3 -- 001110
4 -- 010011
5 -- 011001
6 -- 011100
7 -- 010101
8 -- 010110
9 -- 011010
Еще в коде есть три синхронизирующие последовательности из четырех бит 0101, выглядящие, как две черные полоски. Из-за сходства с цифрой 6 в 2-й и 3-й кодировках (которая тоже выглядит, как две черные полоски, но после них имеется толстый белый интервал, которого нет в синхропоследовательн<wbr />ости) возник известный миф про "число зверя" в штрих-коде.