Код 128
Эта статья нуждается в дополнительных цитатах для проверки . ( апрель 2024 г. ) |

Код 128 высокой плотности, — это линейная символика штрих-кода определенная в стандарте ISO/IEC 15417:2007. [1] Он используется для буквенно-цифровых или только цифровых штрих-кодов . Он может кодировать все 128 символов ASCII и, с использованием символа расширения (FNC4), символы Latin-1, определенные в ISO/IEC 8859-1 . [ нужна ссылка ] Обычно это приводит к более компактным штрих-кодам по сравнению с другими методами, такими как Code 39 , особенно когда тексты содержат в основном цифры. Код 128 был разработан корпорацией Computer Identics в 1981 году. [2]

GS1-128 (ранее известный как UCC/EAN-128) является подмножеством кода 128 и широко используется во всем мире в судоходной и упаковочной отраслях в качестве идентификационного кода продукта для уровней контейнеров и поддонов в цепочке поставок.
Спецификация
[ редактировать ]
1 : тихая зона, 2 : стартовый код B, 3 : данные, 4 : контрольная сумма, 5 : стоп
Штрих-код Code 128 состоит из семи разделов:
- Тихая зона
- Символ запуска
- Закодированные данные
- Символ проверки (обязательно)
- Символ остановки
- Последний бар (часто считается частью символа остановки)
- Тихая зона
Проверочный символ рассчитывается на основе взвешенной суммы ( по модулю 103) всех символов.
Подтипы
[ редактировать ]Код 128 включает 108 символов: 103 символа данных, 3 начальных символа и 2 стоповых символа. Каждый символ состоит из трех черных полос и трех белых пространств разной ширины. Все ширины кратны базовому «модулю». Каждая полоса и пространство имеют ширину от 1 до 4 модулей, а символы имеют фиксированную ширину: сумма ширин трех черных полос и трех белых полос составляет 11 модулей.
Стоп-паттерн состоит из двух перекрывающихся символов и имеет четыре бара. Шаблон остановки обеспечивает двунаправленное сканирование. Когда шаблон остановки читается слева направо (обычный случай), распознается символ остановки (за которым следует полоса из 2 модулей). Когда шаблон остановки читается справа налево, распознается символ обратной остановки (за которым следует полоса из 2 модулей). Сканер, увидев символ остановки в обратном направлении, понимает, что ему необходимо пропустить полосу из 2 модулей и прочитать остальную часть штрих-кода в обратном порядке.
Несмотря на свое название, код 128 не имеет 128 различных символов, поэтому он не может напрямую представлять 128 кодовых точек. Чтобы представить все 128 значений ASCII, он переключается между тремя наборами кодов (A, B, C). Вместе наборы кодов A и B охватывают все 128 символов ASCII. Кодовый набор C используется для эффективного кодирования строк цифр. Начальное подмножество выбирается с помощью соответствующего начального символа. В каждом кодовом наборе некоторые из 103 кодовых точек данных зарезервированы для перехода к одному из двух других кодовых наборов. Сдвиги выполняются с использованием кодовых точек 98 и 99 в кодовых наборах A и B, 100 в кодовых наборах A и C и 101 в кодовых наборах B и C для переключения между ними):
- 128A (кодовый набор A) — символы ASCII от 00 до 95 (0–9, A–Z и коды управления), специальные символы и FNC 1–4.
- 128B (кодовый набор B) — символы ASCII от 32 до 127 (0–9, A–Z, a–z), специальные символы и FNC 1–4.
- 128C (кодовый набор C) — 00–99 (кодирует две цифры одной кодовой точкой) и FNC1.
Минимальная ширина тихой зоны слева и справа от кода 128 равна 10x, где x — минимальная ширина модуля. Это обязательное поле слева и справа от штрих-кода.
Старт/стоп и ширина полосы
[ редактировать ]Каждый символ штрих-кода состоит из трех полос и трех пробелов. Каждая полоса или пробел имеет ширину 1, 2, 3 или 4 единицы, сумма ширин полос должна быть четной (4, 6 или 8 единиц), сумма ширин пробелов должна быть нечетной (3, 5 или 8 единиц). 7 единиц), а всего 11 единиц на символ. Например, кодировку символа ASCII «0» можно рассматривать как 10011101100, где последовательность единиц — это полоса, а последовательность нулей — пробел. Одна цифра 1 будет самой тонкой линией штрих-кода. Три единицы подряд (111) обозначают полосу, в три раза толще одной полосы 1.
Существует 108 возможных символов шириной 11 единиц, и в коде используются все возможные символы. Два символа используются для индикации остановки (конца штрих-кода), остановки и остановки в обратном направлении. Два стоп-символа являются особенными, поскольку за ними всегда следует полоса из 2 единиц, образующая модель длинного стопа из 13 единиц. Чтение стоп-образца слева направо является символом остановки (за которым следует полоса из 2 единиц), а чтение стоп-образца справа налево является символом обратного стопа (за которым следует полоса из 2 единиц).
Проверка расчета цифр
[ редактировать ]Контрольная цифра представляет собой взвешенную контрольную сумму по модулю 103. Он рассчитывается путем суммирования «значения» начального кода и произведений «значений» каждого символа, умноженных на вес его позиции в строке штрих-кода. Начальный символ и первый закодированный символ находятся в позиции 1. Затем сумма произведений уменьшается по модулю 103. Остаток затем преобразуется обратно в один из 103 символов без разделителя (следуя инструкциям, приведенным ниже ) и добавляется к штрих-коду. , непосредственно перед символом остановки.
Например, в следующей таблице значение контрольной суммы варианта кода 128 рассчитывается для буквенно-цифровой строки PJJ123C:
Код | Ценить | Масса | Стоимость × Вес |
---|---|---|---|
Стартовый код А | 103 | (1) | 103 |
П | 48 | 1 | 48 |
Дж | 42 | 2 | 84 |
Дж | 42 | 3 | 126 |
1 | 17 | 4 | 68 |
2 | 18 | 5 | 90 |
3 | 19 | 6 | 114 |
С | 35 | 7 | 245 |
Сумма | 878 | ||
Остаток против 103 | 54 |
Таким образом, добавляется значение 54, равное V, а затем следует код остановки.
В целях вычисления контрольного символа символы сдвига и переключения кода обрабатываются так же, как и любой другой символ в штрих-коде.
Использование FNC4 для кодирования высоких (160–255) символов.
[ редактировать ]Специальный символ FNC4 («Функция 4»), присутствующий только в наборах кодов A и B, может использоваться для кодирования всех символов Latin-1 ( ISO-8859-1 ) в штрих-коде Code 128. [3]
Когда в строке присутствует одиночный символ «FNC4», следующий символ читается как ASCII, но значение увеличивается на +128, тем самым занимая более высокий диапазон таблицы ISO-8859-1. Если следующий символ — «SHIFT», то для получения символа будет использоваться второй символ.
Если используются два последовательных символа «FNC4», все последующие символы данных являются расширенными символами ASCII до тех пор, пока не встретятся еще два последовательных символа «FNC4» или не будет достигнут конец символа. Если во время этой последовательности расширенного кодирования встречается один символ «FNC4», он используется для возврата к стандартной кодировке ASCII только для следующего символа данных. Символы «SHIFT» и подмножества символов будут иметь обычный эффект во время такой последовательности. [4]
Из кода 128A вы можете получить специальные символы Latin-1 от 160 (шестнадцатеричный A0, неразрывный пробел) до 223 (шестнадцатеричный DF, ß) через FNC4. Символы нижнего регистра от 224 (шестнадцатеричный E0, à) до 254 (шестнадцатеричный FE, þ) доступны с помощью FNC4+SHIFT B. Символы ÷ (247, шестнадцатеричный F7) и ÿ (255, шестнадцатеричный FF) недоступны.
Эта функция недоступна для GS1-128. [5] [6] Поскольку поддержка кода 128 типа B (и C) не очень распространена, возможно, вместо этого будет проще использовать QR-код для символов из диапазона кодов ISO-8859-1.
Ширина штрих-кода
[ редактировать ]Code128 определяет комбинацию из 6 чередующихся полос и пробелов (по 3 каждого) для каждого символа. Таким образом, каждый символ начинается с черты и заканчивается пробелом. В шрифтах штрих-кода последняя полоса обычно сочетается с символом остановки, чтобы создать более широкий узор остановки. В следующей таблице подробно описаны ширины, связанные с каждой полосой и пространством для каждого символа. Ширина каждой полосы или пробела может составлять 1, 2, 3 или 4 единицы (модуля). В приведенном выше примере буква «А» будет изображаться с узором 10100011000 или шириной 111323 в таблицах ниже.
Значение ширины получается путем подсчета длины каждой серии из 1, а затем 0 в шаблоне, начиная слева. Всегда будет 6 прогонов, и длина этих 6 прогонов формирует значение ширины. Например, при использовании шаблона 10100011000 длина серии равна 1 (цифра 1), 1 (цифра 0), 1 (цифра 1), 3 (цифра 0), 2 (цифра 1), 3 (цифра 0). Отчет только о длине каждого прогона дает 1, 1, 1, 3, 2, 3, тем самым создавая значение ширины 111323.
Ценить | Шестнадцатеричное значение | 128А | 128Б | 128С | Положение шрифта (Обычный/Необычный/Мягкий штрих-код) | Бар/Пространство | ||
---|---|---|---|---|---|---|---|---|
Код | Латиница-1 | Шаблон | Ширина | |||||
0 | 00 | космос | космос | 00 | 32 или 194 или 207/212/252 | ␣ или Â или Ï / Ô / ü | 11011001100 | 212222 |
1 | 01 | ! | ! | 01 | 33 | ! | 11001101100 | 222122 |
2 | 02 | " | " | 02 | 34 | " | 11001100110 | 222221 |
3 | 03 | # | # | 03 | 35 | # | 10010011000 | 121223 |
4 | 04 | $ | $ | 04 | 36 | $ | 10010001100 | 121322 |
5 | 05 | % | % | 05 | 37 | % | 10001001100 | 131222 |
6 | 06 | & | & | 06 | 38 | & | 10011001000 | 122213 |
7 | 07 | ' | ' | 07 | 39 | ' | 10011000100 | 122312 |
8 | 08 | ( | ( | 08 | 40 | ( | 10001100100 | 132212 |
9 | 09 | ) | ) | 09 | 41 | ) | 11001001000 | 221213 |
10 | 0а | * | * | 10 | 42 | * | 11001000100 | 221312 |
11 | 0б | + | + | 11 | 43 | + | 11000100100 | 231212 |
12 | 0с | , | , | 12 | 44 | , | 10110011100 | 112232 |
13 | 0 д | - | - | 13 | 45 | - | 10011011100 | 122132 |
14 | 0е | . | . | 14 | 46 | . | 10011001110 | 122231 |
15 | 0ф | / | / | 15 | 47 | / | 10111001100 | 113222 |
16 | 10 | 0 | 0 | 16 | 48 | 0 | 10011101100 | 123122 |
17 | 11 | 1 | 1 | 17 | 49 | 1 | 10011100110 | 123221 |
18 | 12 | 2 | 2 | 18 | 50 | 2 | 11001110010 | 223211 |
19 | 13 | 3 | 3 | 19 | 51 | 3 | 11001011100 | 221132 |
20 | 14 | 4 | 4 | 20 | 52 | 4 | 11001001110 | 221231 |
21 | 15 | 5 | 5 | 21 | 53 | 5 | 11011100100 | 213212 |
22 | 16 | 6 | 6 | 22 | 54 | 6 | 11001110100 | 223112 |
23 | 17 | 7 | 7 | 23 | 55 | 7 | 11101101110 | 312131 |
24 | 18 | 8 | 8 | 24 | 56 | 8 | 11101001100 | 311222 |
25 | 19 | 9 | 9 | 25 | 57 | 9 | 11100101100 | 321122 |
26 | 1а | : | : | 26 | 58 | : | 11100100110 | 321221 |
27 | 1б | ; | ; | 27 | 59 | ; | 11101100100 | 312212 |
28 | 1с | < | < | 28 | 60 | < | 11100110100 | 322112 |
29 | 1д | = | = | 29 | 61 | = | 11100110010 | 322211 |
30 | 1е | > | > | 30 | 62 | > | 11011011000 | 212123 |
31 | 1ф | ? | ? | 31 | 63 | ? | 11011000110 | 212321 |
32 | 20 | @ | @ | 32 | 64 | @ | 11000110110 | 232121 |
33 | 21 | А | А | 33 | 65 | А | 10100011000 | 111323 |
34 | 22 | Б | Б | 34 | 66 | Б | 10001011000 | 131123 |
35 | 23 | С | С | 35 | 67 | С | 10001000110 | 131321 |
36 | 24 | Д | Д | 36 | 68 | Д | 10110001000 | 112313 |
37 | 25 | И | И | 37 | 69 | И | 10001101000 | 132113 |
38 | 26 | Ф | Ф | 38 | 70 | Ф | 10001100010 | 132311 |
39 | 27 | Г | Г | 39 | 71 | Г | 11010001000 | 211313 |
40 | 28 | ЧАС | ЧАС | 40 | 72 | ЧАС | 11000101000 | 231113 |
41 | 29 | я | я | 41 | 73 | я | 11000100010 | 231311 |
42 | 2а | Дж | Дж | 42 | 74 | Дж | 10110111000 | 112133 |
43 | 2б | К | К | 43 | 75 | К | 10110001110 | 112331 |
44 | 2с | л | л | 44 | 76 | л | 10001101110 | 132131 |
45 | 2д | М | М | 45 | 77 | М | 10111011000 | 113123 |
46 | 2е | Н | Н | 46 | 78 | Н | 10111000110 | 113321 |
47 | 2ф | ТО | ТО | 47 | 79 | ТО | 10001110110 | 133121 |
48 | 30 | П | П | 48 | 80 | П | 11101110110 | 313121 |
49 | 31 | вопрос | вопрос | 49 | 81 | вопрос | 11010001110 | 211331 |
50 | 32 | Р | Р | 50 | 82 | Р | 11000101110 | 231131 |
51 | 33 | С | С | 51 | 83 | С | 11011101000 | 213113 |
52 | 34 | Т | Т | 52 | 84 | Т | 11011100010 | 213311 |
53 | 35 | В | В | 53 | 85 | В | 11011101110 | 213131 |
54 | 36 | V | V | 54 | 86 | V | 11101011000 | 311123 |
55 | 37 | В | В | 55 | 87 | В | 11101000110 | 311321 |
56 | 38 | Х | Х | 56 | 88 | Х | 11100010110 | 331121 |
57 | 39 | И | И | 57 | 89 | И | 11101101000 | 312113 |
58 | 3а | С | С | 58 | 90 | С | 11101100010 | 312311 |
59 | 3б | [ | [ | 59 | 91 | [ | 11100011010 | 332111 |
60 | 3с | \ | \ | 60 | 92 | \ | 11101111010 | 314111 |
61 | 3d | ] | ] | 61 | 93 | ] | 11001000010 | 221411 |
62 | 3е | ^ | ^ | 62 | 94 | ^ | 11110001010 | 431111 |
63 | 3ф | _ | _ | 63 | 95 | _ | 10100110000 | 111224 |
64 | 40 | НУЛЕВОЙ | ` | 64 | 96 | ` | 10100001100 | 111422 |
65 | 41 | СОХ | а | 65 | 97 | а | 10010110000 | 121124 |
66 | 42 | СТХ | б | 66 | 98 | б | 10010000110 | 121421 |
67 | 43 | И Т. Д | с | 67 | 99 | с | 10000101100 | 141122 |
68 | 44 | ОТ | д | 68 | 100 | д | 10000100110 | 141221 |
69 | 45 | ENQ | и | 69 | 101 | и | 10110010000 | 112214 |
70 | 46 | ПОДТВЕРЖДЕНИЕ | ж | 70 | 102 | ж | 10110000100 | 112412 |
71 | 47 | БЕЛ | г | 71 | 103 | г | 10011010000 | 122114 |
72 | 48 | БС | час | 72 | 104 | час | 10011000010 | 122411 |
73 | 49 | ХТ | я | 73 | 105 | я | 10000110100 | 142112 |
74 | 4а | НЧ | дж | 74 | 106 | дж | 10000110010 | 142211 |
75 | 4б | ВТ | к | 75 | 107 | к | 11000010010 | 241211 |
76 | 4с | ФФ | л | 76 | 108 | л | 11001010000 | 221114 |
77 | 4д | ЧР | м | 77 | 109 | м | 11110111010 | 413111 |
78 | 4е | ТАК | н | 78 | 110 | н | 11000010100 | 241112 |
79 | 4 ж | И | тот | 79 | 111 | тот | 10001111010 | 134111 |
80 | 50 | ДЛЕ | п | 80 | 112 | п | 10100111100 | 111242 |
81 | 51 | DC1 | д | 81 | 113 | д | 10010111100 | 121142 |
82 | 52 | DC2 | р | 82 | 114 | р | 10010011110 | 121241 |
83 | 53 | DC3 | с | 83 | 115 | с | 10111100100 | 114212 |
84 | 54 | DC4 | т | 84 | 116 | т | 10011110100 | 124112 |
85 | 55 | ХОТЕТЬ | в | 85 | 117 | в | 10011110010 | 124211 |
86 | 56 | СИН | v | 86 | 118 | v | 11110100100 | 411212 |
87 | 57 | ЭТБ | В | 87 | 119 | В | 11110010100 | 421112 |
88 | 58 | МОЖЕТ | х | 88 | 120 | х | 11110010010 | 421211 |
89 | 59 | В | и | 89 | 121 | и | 11011011110 | 212141 |
90 | 5а | СУБ | С | 90 | 122 | С | 11011110110 | 214121 |
91 | 5б | ЭКУ | { | 91 | 123 | { | 11110110110 | 412121 |
92 | 5с | ФС | | | 92 | 124 | | | 10101111000 | 111143 |
93 | 5д | GS | } | 93 | 125 | } | 10100011110 | 111341 |
94 | 5е | РС | ~ | 94 | 126 | ~ | 10001011110 | 131141 |
95 | 5ф | НАС | ПРИНАДЛЕЖАЩИЙ | 95 | 195 / 200 / 240 | Ã / È / ð | 10111101000 | 114113 |
96 | 60 | ФНК 3 | ФНК 3 | 96 | 196 / 201 / 241 | Ä / É / ñ | 10111100010 | 114311 |
97 | 61 | ФНК 2 | ФНК 2 | 97 | 197 / 202 / 242 | Å / Ê / ò | 11110101000 | 411113 |
98 | 62 | Смена Б | Смена А | 98 | 198 / 203 / 243 | Æ / Ë / ó | 11110100010 | 411311 |
99 | 63 | Код С | Код С | 99 | 199 / 204 / 244 | Ç / Ì / ô | 10111011110 | 113141 |
100 | 64 | Код Б | ФНК 4 | Код Б | 200 / 205 / 200 | È / Í / È | 10111101110 | 114131 |
101 | 65 | ФНК 4 | Код А | Код А | 201 / 206 / 246 | Это / Î / ö | 11101011110 | 311141 |
102 | 66 | ФНК 1 | ФНК 1 | ФНК 1 | 202 / 207 / 247 | Ê / Ï / ÷ | 11110101110 | 411131 |
103 | 67 | Стартовый код А | 203 / 208 / 248 | Ë / Ð / ø | 11010000100 | 211412 | ||
104 | 68 | Стартовый код Б | 204 / 209 / 249 | Ì / Ñ / ù | 11010010000 | 211214 | ||
105 | 69 | Стартовый код C | 205 / 210 / 250 | В / Т / ú | 11010011100 | 211232 | ||
106 | 6а | Останавливаться | — | — | 11000111010 | 233111 | ||
— | — | Обратный стоп | — | — | 11010111000 | 211133 | ||
— | — | Стоп-паттерн (7 баров/пробелов) | 206 / 211 / 251 | Î / Ó / и | 1100011101011 | 2331112 |
Символы «Код A», «Код B» и «Код C» приводят к тому, что все последующие символы интерпретируются в соответствии с соответствующим субкодом (т. е. 128A, 128B или 128C). Символ «Shift» переключает интерпретацию одного следующего символа между субкодами A и B.
Закодированный символ ASCII зависит от фактического используемого шрифта штрих-кода. В частности, символы ASCII со значением 0 и значением 95 и выше могут определяться по-разному в установленном шрифте.
Коды FNC x используются для специальных целей. FNC1 в начале штрих-кода указывает на штрих-код GS1-128, который начинается с 2-3- или 4-значного идентификатора приложения, назначенного Советом по унифицированным кодам , который объясняет следующие цифры. Например, идентификатор приложения 421 указывает, что за ним следует цифровой код страны ISO 3166-1 и почтовый индекс места доставки. Таким образом, почтовый индекс Белого дома в США обычно печатается как «(421) 840 20500», но на самом деле он будет закодирован как « [Start C] [FNC1] 42 18 40 20 50 [Code A] 16 [Check symbol 92] [Stop]
"
FNC2 (добавление сообщения) может появляться в любом месте штрих-кода, указывая, что считыватель штрих-кода должен сохранить текущую строку и добавить ее к строке следующего считываемого штрих-кода. Он не используется GS1-128.
FNC3 (инициализация) может появляться в любом месте штрих-кода, чтобы дать указание считывателю штрих-кода инициализировать или перепрограммировать себя в соответствии с инструкциями строки штрих-кода.
FNC4 используется для представления расширенного набора символов ASCII (см . § Использование FNC4 для кодирования высоких (160–255) символов ). Он не используется GS1-128. [7]
Доступность
[ редактировать ]Для конечного пользователя штрих-коды Code 128 могут создаваться либо внешним приложением для создания изображения штрих-кода, либо с помощью решения для создания штрих-кодов на основе шрифтов. Любое решение требует использования приложения или надстройки приложения для вычисления контрольной цифры и создания штрих-кода.
Оптимизация длины штрих-кода с помощью Code 128 Type-C
[ редактировать ]Кодовый набор C использует один кодовый символ для обозначения двух цифр. Таким образом, он может создавать более короткие штрих-коды, если содержимое состоит только из цифр или если в коде есть более длинные последовательности цифр.
Однако, когда строка содержит всего несколько цифр или смешана с нецифровыми символами, она не всегда создает более компактный код, чем наборы кодов A или B. Использование набора кодов C экономит один символ на две цифры, но требует режима -символ сдвига для входа и выхода из набора. Таким образом, его стоит использовать только при наличии достаточного количества последовательных цифр. Например, для кодирования строки «X00Y» с помощью набора кодов A или B требуется 7 кодовых символов ( [Start B] 56 16 16 57 [checksum] [Stop]
), тогда как использование кодового набора C для «X00Y» приведет к получению кода длиной 8 символов ( [Start B] 56 [Code C] 00 [Code B] 57 [checksum] [Stop]
).
Использование набора кодов C выгодно только при следующих условиях:
Расположение цифр | Количество последовательных цифр |
---|---|
начало данных | 4+ |
конец данных | 4+ |
середина данных (окруженная символами из кодового набора A или B) | 6+ |
все данные | либо 2, либо 4+ (но не 3) |
В конце строки задержка перехода к кодовому набору C до тех пор, пока не останется четное количество цифр, позволяет избежать появления дополнительного символа. Рассмотрим строку «...01234»: переключение с задержкой создает ... 0 [Code C] 12 34 [checksum] [Stop]
но раннее переключение приводит к ... [Code C] 01 23 [Code A] 4 [checksum] [Stop]
. [8]
Например, для строки «098x1234567y23» экономия на длине штрих-кода при использовании набора кодов C достигается только в том случае, если он применяется к средней части строки. Для начальной и конечной части строки переключение на кодовый набор C не действует. Поскольку в середине строки нечетное количество цифр, нечетная цифра должна использовать другой кодовый набор, но не имеет значения, первая она или последняя; В любом случае требуется 16 символов: [Start B] 0 9 8 x 1 [Code C] 23 45 67 [Code B] y 2 3 [checksum] [Stop]
, или [Start B] 0 9 8 x [Code C] 12 34 56 [Code B] 7 y 2 3 [checksum] [Stop]
.
Оптимизация длины результирующего штрих-кода важна, когда используются считыватели штрих-кода , которые должны сразу обнаружить все изображение штрих-кода, чтобы его прочитать, например, обычные лазерные сканеры . Чем длиннее штрих-код, тем большее расстояние требуется для лазерного считывателя штрих-кода от изображения штрих-кода, что затрудняет или делает невозможным считывание при превышении некоторых пороговых длин/расстояний.
Оптимальную алгоритма динамического кодировку можно найти с помощью программирования . [9]
Ссылки
[ редактировать ]- ^ «ISO/IEC 15417:2007 – Информационные технологии. Методы автоматической идентификации и сбора данных. Спецификация символики штрих-кода Code 128» . www.iso.org . Проверено 15 февраля 2018 г.
- ^ «КОД 128 и ГС1-128» . Информация и советы по штрих-коду . Кейнс . Проверено 6 ноября 2023 г.
- ^ Очевидно, ISO 15417, Приложение F.
- ^ «TBarcode1D_Code128» . Корпорация Хан-софт . Проверено 21 января 2017 г.
Если используется один символ «FNC 4», это означает, что следующий символ данных в символе является расширенным символом ASCII. Символ «SHIFT» может следовать за символом «FNC 4», если необходимо изменить подмножество символов для следующего символа данных. Последующие символы данных возвращаются к стандартному набору символов ASCII. Если используются два последовательных символа «FNC4», все последующие символы данных являются расширенными символами ASCII до тех пор, пока не встретятся еще два последовательных символа «FNC4» или не будет достигнут конец символа. Если во время этой последовательности расширенного кодирования встречается один символ «FNC4», он используется для возврата к стандартной кодировке ASCII только для следующего символа данных. Символы «SHIFT» и подмножества символов будут иметь обычный эффект во время такой последовательности.
- ^ «Пояснение кода 128» . Софтматик ГмбХ . Проверено 21 января 2017 г.
В принципе, символы, отличные от ASCII, такие как немецкие умлауты (например, ÄÖÜ), могут быть закодированы в символе кода 128 с помощью специального символа (FNC4). Однако эта функция не получила широкой поддержки. Лучшим выбором может быть использование символики 2D-штрих-кода, такой как Aztec или Datamatrix, со специальной поддержкой данных, отличных от ASCII.
- ^ Общие спецификации GS1 (январь 2006 г. - Версия 7.0), раздел 5.3.1.1 Характеристики символики GS1-128, в котором говорится: «Символы со значениями ASCII от 128 до 255 также могут быть закодированы в символах кода 128. Символы со значениями ASCII от 128 до 255, доступные через Символ функции 4 (FNC4) зарезервирован для использования в будущем и не используется в символах штрих-кода GS1-128».
- ^ «5.4.3.4.2 Функциональные символы» . Стандарт общих спецификаций GS1 . Версия 23.0. GS1 AISBL: 287. Январь 2023 г. Проверено 28 июня 2023 г.
- ^ Общие характеристики GS1, версия 13, выпуск 1, январь 2013 г., раздел 5.4.7.7. Использование символов Start, Code Set и Shift для минимизации длины символа (информативно), страницы 268–269. В этом разделе описывается стратегия сжатия.
- ^ Скиена, Стивен С. (2010). «8.9 Военная история: сжатие текста для штрих-кодов». Руководство по разработке алгоритмов (2-е изд.). Спрингер. ISBN 978-1-849-96720-4 .
динамическое программирование привело к более жесткому кодированию в среднем на 8%.
Внешние ссылки
[ редактировать ]![]() | в этой статье Использование внешних ссылок может не соответствовать политике и рекомендациям Википедии . ( январь 2015 г. ) |
- Онлайн-генератор штрих-кодов Code128
- Спецификация GS1-128 – подробный список идентификаторов приложений.
- Barcodesoft — сопоставление шрифтов Barcodesoft, которое отличается от обычного сопоставления ascii (см. http://ascii-code.com/ ).
- Код 128. Изучите алгоритм кодирования Code 128 с помощью решения для штрих-кодов на основе шрифтов.
- Онлайн-генератор штрих-кодов – бесплатный онлайн-генератор штрих-кодов для различных типов штрих-кодов.
- Типы штрих-кодов в обзоре — Общие типы штрих-кодов 1D и 2D в обзоре
- Онлайн-генератор штрих-кодов — бесплатный онлайн-генератор штрих-кодов 1D и 2D.
Пример кода
[ редактировать ]- ZXing — мультиплатформенный сканер/генератор штрих-кодов с открытым исходным кодом с версиями, доступными на Java (основной проект) и портами на ActionScript, C++, C#, ObjectiveC и Ruby.
- Штрих-код Python 128. Этот код рисует прямоугольники шириной в один пиксель. Похоже, что он был изменен из штрих-кода с короткой линией и длинной линией, в котором должны были быть нарисованы линии. «Черные ящики» должны быть того же размера, что и «Белые ящики».
- GenCode128 — бесплатная реализация исходного кода C# Code128. Почти все функции реализованы, но не на 100%.
- Barcode1DTools Ruby gem — исходный код Ruby для многих 1D-символов штрих-кодов, включая Code 128.
- Код генерации штрих-кода Perl — исходный код Perl для многих символик штрих-кода 1D, включая Code 128.
- Barcode::Code128 – Бесплатный модуль генерации штрих-кодов Perl.
- GOCR – бесплатное распознавание текста с распознаванием кода 128.
- Штрих-код 128 — бесплатная реализация Code128 с исходным кодом на JavaScript.
- Barcode4J — бесплатный Java API с реализацией Code128 и других стандартных штрих-кодов.
- JavaScript Code 128 — JavaScript-реализация Code128 и других линейных штрих-кодов с открытым исходным кодом.
- Представляем создание штрих-кодов Code 128. Руководство по преобразованию текста в штрих-коды Code 128. Написан для Lazarus (многоплатформенный графический интерфейс Pascal с открытым исходным кодом), но имеет общее использование.