Jump to content

Код 128

Швейцарский почтовый штрих-код, кодирующий «RI 476 394 652 CH» в коде 128 (B и C).

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

Штрих-код GS1-128, кодирующий GTIN, дату годности и номер партии.

GS1-128 (ранее известный как UCC/EAN-128) является подмножеством кода 128 и широко используется во всем мире в судоходной и упаковочной отраслях в качестве идентификационного кода продукта для уровней контейнеров и поддонов в цепочке поставок.

Спецификация

[ редактировать ]
«Код 459
Схема штрих-кода (Код 128Б).
1 : тихая зона, 2 : стартовый код B, 3 : данные, 4 : контрольная сумма, 5 : стоп

Штрих-код Code 128 состоит из семи разделов:

  1. Тихая зона
  2. Символ запуска
  3. Закодированные данные
  4. Символ проверки (обязательно)
  5. Символ остановки
  6. Последний бар (часто считается частью символа остановки)
  7. Тихая зона

Проверочный символ рассчитывается на основе взвешенной суммы ( по модулю 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Б 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 * * 10 42 * 11001000100 221312
11 + + 11 43 + 11000100100 231212
12 , , 12 44 , 10110011100 112232
13 0 д - - 13 45 - 10011011100 122132
14 . . 14 46 . 10011001110 122231
15 / / 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 : : 26 58 : 11100100110 321221
27 ; ; 27 59 ; 11101100100 312212
28 < < 28 60 < 11100110100 322112
29 = = 29 61 = 11100110010 322211
30 > > 30 62 > 11011011000 212123
31 ? ? 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 Дж Дж 42 74 Дж 10110111000 112133
43 К К 43 75 К 10110001110 112331
44 л л 44 76 л 10001101110 132131
45 М М 45 77 М 10111011000 113123
46 Н Н 46 78 Н 10111000110 113321
47 ТО ТО 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 С С 58 90 С 11101100010 312311
59 [ [ 59 91 [ 11100011010 332111
60 \ \ 60 92 \ 11101111010 314111
61 3d ] ] 61 93 ] 11001000010 221411
62 ^ ^ 62 94 ^ 11110001010 431111
63 _ _ 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 НЧ дж 74 106 дж 10000110010 142211
75 ВТ к 75 107 к 11000010010 241211
76 ФФ л 76 108 л 11001010000 221114
77 ЧР м 77 109 м 11110111010 413111
78 ТАК н 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 СУБ С 90 122 С 11011110110 214121
91 ЭКУ { 91 123 { 11110110110 412121
92 ФС | 92 124 | 10101111000 111143
93 GS } 93 125 } 10100011110 111341
94 РС ~ 94 126 ~ 10001011110 131141
95 НАС ПРИНАДЛЕЖАЩИЙ 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 Останавливаться 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]

  1. ^ «ISO/IEC 15417:2007 – Информационные технологии. Методы автоматической идентификации и сбора данных. Спецификация символики штрих-кода Code 128» . www.iso.org . Проверено 15 февраля 2018 г.
  2. ^ «КОД 128 и ГС1-128» . Информация и советы по штрих-коду . Кейнс . Проверено 6 ноября 2023 г.
  3. ^ Очевидно, ISO 15417, Приложение F.
  4. ^ «TBarcode1D_Code128» . Корпорация Хан-софт . Проверено 21 января 2017 г. Если используется один символ «FNC 4», это означает, что следующий символ данных в символе является расширенным символом ASCII. Символ «SHIFT» может следовать за символом «FNC 4», если необходимо изменить подмножество символов для следующего символа данных. Последующие символы данных возвращаются к стандартному набору символов ASCII. Если используются два последовательных символа «FNC4», все последующие символы данных являются расширенными символами ASCII до тех пор, пока не встретятся еще два последовательных символа «FNC4» или не будет достигнут конец символа. Если во время этой последовательности расширенного кодирования встречается один символ «FNC4», он используется для возврата к стандартной кодировке ASCII только для следующего символа данных. Символы «SHIFT» и подмножества символов будут иметь обычный эффект во время такой последовательности.
  5. ^ «Пояснение кода 128» . Софтматик ГмбХ . Проверено 21 января 2017 г. В принципе, символы, отличные от ASCII, такие как немецкие умлауты (например, ÄÖÜ), могут быть закодированы в символе кода 128 с помощью специального символа (FNC4). Однако эта функция не получила широкой поддержки. Лучшим выбором может быть использование символики 2D-штрих-кода, такой как Aztec или Datamatrix, со специальной поддержкой данных, отличных от ASCII.
  6. ^ Общие спецификации GS1 (январь 2006 г. - Версия 7.0), раздел 5.3.1.1 Характеристики символики GS1-128, в котором говорится: «Символы со значениями ASCII от 128 до 255 также могут быть закодированы в символах кода 128. Символы со значениями ASCII от 128 до 255, доступные через Символ функции 4 (FNC4) зарезервирован для использования в будущем и не используется в символах штрих-кода GS1-128».
  7. ^ «5.4.3.4.2 Функциональные символы» . Стандарт общих спецификаций GS1 . Версия 23.0. GS1 AISBL: 287. Январь 2023 г. Проверено 28 июня 2023 г.
  8. ^ Общие характеристики GS1, версия 13, выпуск 1, январь 2013 г., раздел 5.4.7.7. Использование символов Start, Code Set и Shift для минимизации длины символа (информативно), страницы 268–269. В этом разделе описывается стратегия сжатия.
  9. ^ Скиена, Стивен С. (2010). «8.9 Военная история: сжатие текста для штрих-кодов». Руководство по разработке алгоритмов (2-е изд.). Спрингер. ISBN  978-1-849-96720-4 . динамическое программирование привело к более жесткому кодированию в среднем на 8%.
[ редактировать ]

Пример кода

[ редактировать ]
  • 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 с открытым исходным кодом), но имеет общее использование.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: d84342bfddd1022b87ae937a077200ed__1719805740
URL1:https://arc.ask3.ru/arc/aa/d8/ed/d84342bfddd1022b87ae937a077200ed.html
Заголовок, (Title) документа по адресу, URL1:
Code 128 - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)