ДотКод

DotCode — это двумерный (2D) матричный штрих-код, изобретенный в 2008 году. [1] компанией Hand Held Products для замены устаревшего кода 128 . В настоящее время он выпущен Ассоциацией автоматической идентификации и мобильности (AIM) как «Спецификация символики ISS DotCode 4.0». [2] DotCode состоит из редких черных круглых точек и белых пространств на белом фоне. В случае черного фона круглые точки, образующие штрих-код, могут быть белыми. DotCode был разработан для использования с высокоскоростными промышленными принтерами. [3] где точность печати может быть низкой. Поскольку DotCode по стандарту не требует сложных элементов, таких как непрерывные линии или специальные формы, его можно наносить с помощью лазерной гравировки или промышленных сверл.
DotCode можно представить в виде прямоугольного массива с минимальным размером каждой стороны 5X точек. Максимальный размер DotCode не ограничен стандартом. [4] (поскольку код 128 не ограничен), но рекомендуется практический предел 100x99. [2] : 5.2.1.4 который может кодировать около 730 цифр, 366 буквенно-цифровых символов или 304 байта.
Являясь расширением штрих-кода Code 128, DotCode обеспечивает более компактное кодирование 8-битного массива данных и поддержку Unicode с функцией расширенной интерпретации канала . Кроме того, DotCode обеспечивает гораздо большую плотность данных и коррекцию ошибок Рида-Соломона , что позволяет восстанавливать частично поврежденный штрих-код. Однако основная реализация DotCode, как и Code 128, представляет собой эффективное кодирование GS1 . данных [5] который используется во всем мире в сфере доставки и упаковки.
История и стандарты
[ редактировать ]Штрих-код DotCode был изобретен в 2008 году. [1] разработан доктором Эндрю Лонгакром из Hand Held Products и стандартизирован в 2009 году. компании [6] AIM как « Спецификация символики штрих-кода — DotCode». [7] В 2019 году DotCode был рассмотрен как «Спецификация символики ISS DotCode 4.0». [2]
Зарегистрирован ряд патентов, связанных с кодированием и декодированием DotCode:
- Патент США US20090200386A1 компании Hand Held Products Inc «Машиночитаемая 2D-символика с возможностью печати по требованию». [1]
- Патент США US20090200386A1 компании Datalogic IP Tech SRL «Система и способ извлечения данных битового потока в двумерных оптических кодах». [8]
- Китайский патент CN113297872A компании Fuzhou Symbol Information Technology Co Ltd «Метод и оборудование для идентификации точечного кода». [9]
Приложение
[ редактировать ]Штрих-код DotCode можно использовать так же, как код 128 или любой (2D) матричный штрих-код. В настоящее время он используется в основном для кодирования данных GS1 в табаке . [10] [11] алкогольные и безалкогольные напитки, [12] фармацевтическая и продуктовая промышленность. Основное внедрение в настоящее время приходится на табачную промышленность. [13] [14]
Основные преимущества DotCode: [15]
- Полная поддержка и замена кодового набора Code 128 ;
- Компактное кодирование 8-битного массива данных;
- Поддержка Unicode с функцией расширенной интерпретации каналов ;
- Эффективное кодирование данных GS1;
- Исправление ошибок Рида – Соломона
- Возможность нанесения штрих-кода с помощью высокоскоростных промышленных принтеров и других методов, таких как лазерная гравировка .
Дизайн штрих-кода
[ редактировать ]DotCode представляет данные в прямоугольной структуре, состоящей из черных круглых точек и пробелов на белом фоне или белых круглых точек на черном фоне. DotCode не имеет шаблона поиска, как другие 2D-штрих-коды, и его необходимо обнаруживать с помощью медленных алгоритмов обнаружения капель, таких как фильтр Габора или преобразование Круга Хафа . [ нужна ссылка ] Все данные, метаданные и кодовые слова исправления ошибок кодируются одним и тем же массивом точек, который не имеет визуальной разницы.
Вот несколько примеров DotCode:
- DotCode с шириной 25 и высотой 10.
- DotCode с шириной 23 и высотой 22.
- DotCode с шириной 57 и высотой 60

Символ DotCode состоит из следующих элементов: [2] : 5.1
- Два бита маски, которые на схеме представлены двумя зелеными точками;
- Биты данных (биты данных и исправления ошибок), которые должны считываться сверху вниз (четная сторона штрих-кода) и слева направо (нечетная сторона штрих-кода);
- Угловые точки, отмеченные на диаграмме красным цветом, которые можно использовать в качестве битов данных или битов заполнения (черные точки);
- Тихая зона размером как минимум в 3 раза больше точек.
Массив битов DotCode представлен как:
(Два бита маски: M2, M1) (Биты данных) (Угловые биты, могут быть битами данных или заполнения: C1 – C6)
Кодовые слова данных в диапазоне 0–112 кодируются в виде двоичных точечных шаблонов 5 из 9. [2] : 5.2 которые закодированы из 9 точек, из которых 5 черных точек и 4 пробела. Остальная часть матрицы штрих-кода (остаток от деления на 9) заполняется черными битами заполнения. [2] : 5.2.3 Биты заполнения могут принимать значения от 0 до 8. Логически массив битов DotCode представлен как:
(2 бита маски) (кодовые слова данных по 9 битов каждое) (биты заполнения 0–8 бит)
К размеру DotCode предъявляются следующие требования: [2] : 5.1
- Сумма ширины и высоты DotCode должна быть нечетной: ;
- Минимальный размер каждой стороны должен быть 5, максимальный не ограничен;
- Рекомендуется использовать ширину и высоту, чтобы иметь как минимум 6 заполняющих черных битов, где емкость битов данных зависит от деления на 9 больше или равна 6: [2] : 5.2.1.4
Маскирование данных
[ редактировать ]Чтобы свести к минимуму проблемные символы DotCode, кодовые слова данных маскируются для создания других визуальных последовательностей. Шаблон маски применяется только к последовательности данных и не влияет на кодовые слова исправления ошибок. Стандарт DotCode имеет 4 шаблона маски, которые закодированы в 2 бита и помещены в первые 2 бита массива битов символов. [2] : 5.2.4
Маска | Биты | Операция маскировки Пример: 099 099 099 099 099 099 099 099 106. |
---|---|---|
0 | 00 | Добавляет последовательные кратные 0 к каждому значению, т. е. без изменений. (000) 099 099 099 099 099 099 099 099 106 |
1 | 01 | Добавляет последовательные числа, кратные 3, к каждому значению по модулю 113. (001) 099 102 105 108 111 001 004 007 017 |
2 | 10 | Добавляет последовательные числа, кратные 7, к каждому значению по модулю 113. (002) 099 106 000 007 014 021 028 035 049 |
3 | 11 | Добавляет последовательные числа, кратные 17, к каждому значению по модулю 113. (003) 099 003 020 037 054 071 088 105 016 |
Исправление ошибок
[ редактировать ]DotCode использует коррекцию ошибок Рида – Соломона. [2] : 5.3 с простой степенью 3 и конечным полем или GF(113) . Кодовые слова данных представлены значениями от 0 до 112, а значение маски считается ведущим кодовым словом данных от 0 до 3. Таким образом, длина защищенного массива данных равна (1 + ND). Но количество кодовых слов исправления ошибок рассчитывается только из ND:
,
где ND — кодовые слова данных, а NC — кодовые слова коррекции ошибок.
Результирующие кодовые слова NW с кодовыми словами исправления ошибок:
,
где NW - все кодовые слова кодирования: 1 кодовое слово маски + кодовые слова данных (ND) + кодовые слова исправления ошибок (NC).
Поскольку коррекция ошибок Рида-Соломона не может исправить количество кодовых слов, превышающее полиномиальное, если NW превышает 112, данные разбиваются на блоки исправления ошибок:
,
где B — количество блоков.
Данные можно разделить на блоки следующим образом, для каждого блока '''n''', для n равно от 1 до B:
Данные для исправления ошибок записывается после одного блока данных в скремблированном режиме: [16]
(ND)(NC1_1)(NC2_1)(NC3_1)...(NC1_n)(NC2_m)(NC3_k)
Кодирование
[ редактировать ]Размер кодирования DotCode не ограничен стандартом, но практический размер кодирования в версии 100x99, которая включает 4950 точек, может кодировать 366 кодовых слов необработанных данных, 730 цифр, 365 буквенно-цифровых символов или 304 байта. Сообщение данных в DotCode представлено кодовыми словами данных от 0 до 112, которые закодированы двоичными точечными шаблонами 5 из 9.
DotCode поддерживает следующие функции: [2] : 5.2.1
- Встроенное кодирование цифр или кодировки ASCII (от 0 до 127) с наборами кодов A, B и C и расширенными значениями ASCII (от 128 до 255) с верхним сдвигом;
- Эффективно кодирует байты (5 байт в 6 кодовых слов) с помощью двоичной защелки;
- Кодирует данные GS1; [5]
- Кодирует символы Юникода с функцией расширенной интерпретации каналов ;
- Поддерживает структурированное кодирование добавления (логическое использование нескольких символов штрих-кода как одного потока данных);
- Поддерживает кодировку «Макро».
Символ данных | Символ данных | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Кодовое слово | Кодовый набор А | Кодовый набор B | Кодовый набор C | Точечный узор | Кодовое слово | Кодовый набор А | Кодовый набор B | Кодовый набор C | Точечный узор | ||||
Чар | ASCII | Чар | ASCII | Чар | ASCII | Чар | ASCII | ||||||
0 | СП | 32 | СП | 32 | 00 | 101010101 | 57 | И | 89 | И | 89 | 57 | 110101100 |
1 | ! | 33 | ! | 33 | 01 | 010101011 | 58 | С | 90 | С | 90 | 58 | 110110010 |
2 | " | 34 | " | 34 | 02 | 010101101 | 59 | [ | 91 | [ | 91 | 59 | 110110100 |
3 | # | 35 | # | 35 | 03 | 010110101 | 60 | \ | 92 | \ | 92 | 60 | 111001010 |
4 | $ | 36 | $ | 36 | 04 | 011010101 | 61 | ] | 93 | ] | 93 | 61 | 111010010 |
5 | % | 37 | % | 37 | 05 | 101010110 | 62 | ^ | 94 | ^ | 94 | 62 | 111010100 |
6 | & | 38 | & | 38 | 06 | 101011010 | 63 | _ | 95 | _ | 95 | 63 | 001011110 |
7 | ' | 39 | ' | 39 | 07 | 101101010 | 64 | НУЛЕВОЙ | 00 | ` | 96 | 64 | 001101110 |
8 | ( | 40 | ( | 40 | 08 | 110101010 | 65 | СОХ | 01 | а | 97 | 65 | 001110110 |
9 | ) | 41 | ) | 41 | 09 | 010101110 | 66 | СТХ | 02 | б | 98 | 66 | 001111010 |
10 | * | 42 | * | 42 | 10 | 010110110 | 67 | И Т. Д | 03 | с | 99 | 67 | 010011110 |
11 | + | 43 | + | 43 | 11 | 010111010 | 68 | EOT | 04 | д | 100 | 68 | 010111100 |
12 | , | 44 | , | 44 | 12 | 011010110 | 69 | ENQ | 05 | и | 101 | 69 | 011001110 |
13 | - | 45 | - | 45 | 13 | 011011010 | 70 | ПОДТВЕРЖДЕНИЕ | 06 | ж | 102 | 70 | 011011100 |
14 | . | 46 | . | 46 | 14 | 011101010 | 71 | БЕЛ | 07 | г | 103 | 71 | 011100110 |
15 | / | 47 | / | 47 | 15 | 100101011 | 72 | БС | 08 | час | 104 | 72 | 011101100 |
16 | 0 | 48 | 0 | 48 | 16 | 100101101 | 73 | ХТ | 09 | я | 105 | 73 | 011110010 |
17 | 1 | 49 | 1 | 49 | 17 | 100110101 | 74 | НЧ | 10 | дж | 106 | 74 | 011110100 |
18 | 2 | 50 | 2 | 50 | 18 | 101001011 | 75 | ВТ | 11 | к | 107 | 75 | 100010111 |
19 | 3 | 51 | 3 | 51 | 19 | 101001101 | 76 | ФФ | 12 | л | 108 | 76 | 100011011 |
20 | 4 | 52 | 4 | 52 | 20 | 101010011 | 77 | ЧР | 13 | м | 109 | 77 | 100011101 |
21 | 5 | 53 | 5 | 53 | 21 | 101011001 | 78 | ТАК | 14 | н | 110 | 78 | 100100111 |
22 | 6 | 54 | 6 | 54 | 22 | 101100101 | 79 | И | 15 | тот | 111 | 79 | 100110011 |
23 | 7 | 55 | 7 | 55 | 23 | 101101001 | 80 | ДЛЕ | 16 | п | 112 | 80 | 100111001 |
24 | 8 | 56 | 8 | 56 | 24 | 110010101 | 81 | DC1 | 17 | д | 113 | 81 | 101000111 |
25 | 9 | 57 | 9 | 57 | 25 | 110100101 | 82 | DC2 | 18 | р | 114 | 82 | 101100011 |
26 | : | 58 | : | 58 | 26 | 110101001 | 83 | DC3 | 19 | с | 115 | 83 | 101110001 |
27 | ; | 59 | ; | 59 | 27 | 001010111 | 84 | DC4 | 20 | т | 116 | 84 | 110001011 |
28 | < | 60 | < | 60 | 28 | 001011011 | 85 | ХОТЕТЬ | 21 | в | 117 | 85 | 110001101 |
29 | = | 61 | = | 61 | 29 | 001011101 | 86 | СИН | 22 | v | 118 | 86 | 110010011 |
30 | > | 62 | > | 62 | 30 | 001101011 | 87 | ЭТБ | 23 | В | 119 | 87 | 110011001 |
31 | ? | 63 | ? | 63 | 31 | 001101101 | 88 | МОЖЕТ | 24 | х | 120 | 88 | 110100011 |
32 | @ | 64 | @ | 64 | 32 | 001110101 | 89 | В | 25 | и | 121 | 89 | 110110001 |
33 | А | 65 | А | 65 | 33 | 010010111 | 90 | СУБ | 26 | С | 122 | 90 | 111000101 |
34 | Б | 66 | Б | 66 | 34 | 010011011 | 91 | ЭКУ | 27 | { | 123 | 91 | 111001001 |
35 | С | 67 | С | 67 | 35 | 010011101 | 92 | ФС | 28 | | | 124 | 92 | 111010001 |
36 | Д | 68 | Д | 68 | 36 | 010100111 | 93 | GS | 29 | } | 125 | 93 | 000101111 |
37 | И | 69 | И | 69 | 37 | 010110011 | 94 | РС | 30 | ~ | 126 | 94 | 000110111 |
38 | Ф | 70 | Ф | 70 | 38 | 010111001 | 95 | НАС | 31 | ПРИНАДЛЕЖАЩИЙ | 127 | 95 | 000111011 |
39 | Г | 71 | Г | 71 | 39 | 011001011 | 96 | Смена Б | CR/LF | 13/10 | 96 | 000111101 | |
40 | ЧАС | 72 | ЧАС | 72 | 40 | 011001101 | 97 | 2x смена Б | ХТ * | 09 | 97 | 001001111 | |
41 | я | 73 | я | 73 | 41 | 011010011 | 98 | 3x смена Б | ФС * | 28 | 98 | 001100111 | |
42 | Дж | 74 | Дж | 74 | 42 | 011011001 | 99 | 4x смена Б | ГС * | 29 | 99 | 001110011 | |
43 | К | 75 | К | 75 | 43 | 011100101 | 100 | 5x сдвиг B | РС * | 30 | (17)...(10) | 001111001 | |
44 | л | 76 | л | 76 | 44 | 011101001 | 101 | 6x сдвиг B | Смена А | Защелка А | 010001111 | ||
45 | М | 77 | М | 77 | 45 | 100101110 | 102 | Защелка Б | Защелка А | Смена Б | 011000111 | ||
46 | Н | 78 | Н | 78 | 46 | 100110110 | 103 | 2x сдвиг C | 2x сдвиг C | 2x смена Б | 011100011 | ||
47 | ТО | 79 | ТО | 79 | 47 | 100111010 | 104 | 3x сдвиг C | 3x сдвиг C | 3x смена Б | 011110001 | ||
48 | П | 80 | П | 80 | 48 | 101001110 | 105 | 4x сдвиг C | 4x сдвиг C | 4x смена Б | 100011110 | ||
49 | вопрос | 81 | вопрос | 81 | 49 | 101011100 | 106 | Защелка С | Защелка С | Защелка Б | 100111100 | ||
50 | Р | 82 | Р | 82 | 50 | 101100110 | 107 | ФНК1 | ФНК1 | ФНК1 | 101111000 | ||
51 | С | 83 | С | 83 | 51 | 101101100 | 108 | ФНК2 | ФНК2 | ФНК2 | 110001110 | ||
52 | Т | 84 | Т | 84 | 52 | 101110010 | 109 | ФНК3 | ФНК3 | ФНК3 | 110011100 | ||
53 | В | 85 | В | 85 | 53 | 101110100 | 110 | Верхняя смена А | Верхняя смена А | Верхняя смена А | 110111000 | ||
54 | V | 86 | V | 86 | 54 | 110010110 | 111 | Верхняя смена B | Верхняя смена B | Верхняя смена B | 111000110 | ||
55 | В | 87 | В | 87 | 55 | 110011010 | 112 | Двоичная защелка | Двоичная защелка | Двоичная защелка | 111001100 | ||
56 | Х | 88 | Х | 88 | 56 | 110100110 | * в позициях ведущих данных они становятся «Макросами» |
При запуске кодирования сообщения существуют три основных правила:
- Начальной кодировкой по умолчанию является кодовый набор C;
- Если две цифры в кодовом наборе C (значение 0–100) закодированы в позиции первого кодового слова, сообщение декодируется как сообщение GS1;
- Если FNC1 (эффект, противоположный коду 128 ) или другое нецифровое кодовое слово (101–112) закодировано в позиции первого кодового слова, сообщение декодируется как сообщение NON GS1.
Двоичное байтовое кодирование
[ редактировать ]DotCode может кодировать полную 8-битную кодировку двумя способами: [2] : 5.2.1.1
- С верхним сдвигом, для которого требуется 2 кодовых слова на один символ (от 128 до 255);
- С двоичной защелкой, для которой требуется 1 символ двоичной защелки и 6 кодовых слов на каждые 5 байтов.
Режимы верхнего сдвига могут кодировать (от 128 до 255) расширенные символы ASCII двумя кодовыми словами с возвратом в предыдущий режим:
Тип верхнего смещения | Кодовые слова | ASCII |
---|---|---|
Верхняя смена А | от 64 до 95 | от 128 до 159 |
Верхняя смена B | от 0 до 95 | от 160 до 255 |
Режим двоичной защелки может кодировать 8-битную кодировку и последовательности ECI от 1 до 5 символов. Он использует следующие правила:
- Данные разбиваются на блоки из 5 символов (байт или идентификатор режима ECI) или 6 кодовых слов;
- Значения 0–258 представляют собой преобразование системы счисления из пяти значений по основанию 259 в шесть значений по основанию 103;
- Значения 0–255 являются байтовыми значениями;
- Значения 256, 257 или 258 обозначают кодировку последовательности ECI в следующих 1, 2 или 3 байтах соответственно;
- Любые кодовые слова DotCode в закодированной последовательности выше 102 (от 103 до 112) прерывают или меняют режим.
Кодовое слово | Операция |
---|---|
103 | Прерывание для 2x Shift C |
104 | Прерывание для 3x Shift C |
105 | Прерывание для 4x Shift C |
106 | Прерывание для 5x Shift C |
107 | Прерывание для 6x Shift C |
108 | Прерывание для 7x Shift C |
109 | Завершить с помощью Latch to A |
110 | Завершить с защелкой на B |
111 | Завершить с помощью Latch to C |
112 | Завершение с разделением символов, защелка на C |
Как мы видим из следующей таблицы, Binary Latch более эффективно кодирует данные, начиная с 3 байтов.
Количество байтов | Требуются кодовые слова | Требуются кодовые слова с защелкой и возвратом | Требуется кодовое слово Upper Shift |
---|---|---|---|
1 | 2 | 4 | 2 |
2 | 3 | 5 | 4 |
3 | 4 | 6 | 6 |
4 | 5 | 7 | 8 |
5 | 6 | 8 | 10 |
ECI-кодирование
[ редактировать ]DotCode может кодировать индикатор ECI двумя способами: [2] : 5.2.1.2
- В режиме двоичной защелки (см. выше);
- С символом FNC2.
FNC2 в любой позиции, кроме конца данных, сигнализирует о вставке последовательности ECI – «\nnnnnn», которая представляет значения от 000000 до 811799. Значения могут быть закодированы в 1 или 3 кодовых словах:
- В случае следующего кодового слова < 40 напрямую кодируется значение ECI от 000000 до 000039;
- В противном случае следующие три кодовых слова со значениями A, B и C кодируют значение ECI, равное .
Кодировка GS1
[ редактировать ]Любые две цифры в позиции первого кодового слова идентифицируют символ как закодированный GS1 (в отличие от кода 128 ). В случае, если символ с двумя цифрами в позиции первого кодового слова должен быть декодирован как обычные данные, FNC1 (опущенный в декодированном сообщении) должен быть вставлен на место первого кодового слова. [2] : 5.2.1.2 FNC1 в позиции, отличной от первой, работает как разделитель идентификатора приложения GS1 и декодируется как символ GS (значение ASCII 29).
Кодовое слово 100 в кодовом наборе C кодирует приложение GS1 AI (17). [5] следующие 3 кодовых слова являются датой истечения срока действия и вставляют GS1 AI (10) перед декодированием других кодовых слов:
(100)(24)(12)(30)(56)(64) -> 17241230105664
Режим макросов
[ редактировать ]Некоторые кодовые слова данных 97–100 в лидирующей позиции данных в кодовом наборе B могут кодировать «макросы». [17] [2] : 5.2.1.1 В любой другой позиции он кодирует символ ASCII:
(Защелка B)(HT) -> [)>RS05GS … RSeoT
(Shift B)(HT) -> [)>RS05GS … RSeoT
Кодовое слово | В первой позиции данных | В последующих позициях данных | |
---|---|---|---|
Чар | ASCII | ||
97 | [)>RS05GS ... RSEOT | ХТ | 09 |
98 | [)>RS06GS ... RSeoT | ФС | 28 |
99 | [)>RS12GS ... RSEOT | GS | 29 |
100 | [)>RSxx ... EoT где две цифры «xx» обозначают значение от 00 до 99. | РС | 30 |
1. Эти расширения «Макро» включают в себя как заголовок, так и трейлер данных. 2. Чтобы закодировать HT, FS, GS или RS в первой позиции данных, используйте кодовый набор A. 3. Расширение макроса для кодового слова 100 намеренно исключает GS из заголовка и RS из трейлера, поскольку они могут быть неправильными для некоторых значений «xx». Однако GS и/или RS все равно могут кодироваться по мере необходимости. |
Структурированное добавление
[ редактировать ]DotCode может создавать составные символы, в которых данные из нескольких символов DotCode могут быть логически объединены. Это можно сделать с помощью символа FNC2 в последней позиции данных. Когда FNC2 находится в позиции конечных данных, [2] : 5.2.1.2 затем два предыдущих символа сообщения, цифры и прописные буквы в порядке от 1 до 9, затем от A до Z (для значений от 10 до 35) должны обозначать «m» и «n» и обозначать, к какому месту принадлежит это сообщение в последовательности «m из n». . Например, символ, сообщение которого заканчивается «4 B FNC2», должен быть 4-м символом из 11, составляющих все сообщение.
Специальные режимы кодирования
[ редактировать ]FNC3 в первой позиции кодового слова указывает, что сообщение [2] : 5.2.1.2 — инструкции по инициализации или перепрограммированию считывателя штрих-кода.
FNC3 в любой позиции, кроме первой, указывает, что закодированное сообщение должно быть логически разделено на два отдельных сообщения (до и после него);
Заполнение данных
[ редактировать ]Количество кодовых слов символа DotCode составляет:
Емкость кодовых слов данных символа DotCode составляет:
Таким образом, нам нужно дополнить кодовые слова данных в случае наличия свободного места. Есть два правила: [2] : 5.2.3
- Двоичный режим должен быть завершен с помощью Latch to Code Set A (кодовое слово 109);
- В других режимах необходимо использовать кодовое слово 106 (фиксация набора кодов C/фиксация набора кодов B).
См. также
[ редактировать ]- Автоматизированная идентификация и сбор данных (AIDC)
- Штрих-код
- Код 128
- Расширенная интерпретация канала
- ГС1
- Ручные продукты
Ссылки
[ редактировать ]- ^ Перейти обратно: а б с Эндрю Лонгакр-младший (13 февраля 2008 г.). «Патент США US20090200386A1 от Hand Held Products Inc «Машиночитаемая 2D-символика с возможностью печати по требованию» » . патенты.google.com . Ведомство США по патентам и товарным знакам. США20090200386A1.
- ^ Перейти обратно: а б с д и ж г час я дж к л м н тот п д р «Спецификация символики DotCode ISS 4.0» . aimglobal.org . АИМ Глобал.
- ^ «Руководство по штрих-кодам: DotCode» . barcodeguide.seagullscientific.com .
- ^ «Объяснение 2D-кодов: какой объем данных можно хранить в DotCode?» . www.domino-printing.com .
- ^ Перейти обратно: а б с «Идентификаторы приложений GS1» . www.gs1.org .
- ^ «Технология штрих-кодов: матричные 2D-символики» . aimglobal.org . Архивировано из оригинала 5 ноября 2011 г.
- ^ «Информационные технологии. Методы автоматической идентификации и сбора данных. Спецификация символики штрих-кода. DotCode» . aimglobal.org . АИМ Глобал. Архивировано из оригинала 16 октября 2011 г.
- ^ Энрико Кампайоли (2 мая 2019 г.). «Патент США US20090200386A1 от Datalogic IP Tech SRL «Система и способ извлечения данных битового потока в двумерных оптических кодах » . патенты.google.com . Ведомство США по патентам и товарным знакам. США20190130236A1.
- ^ «Китайский патент CN113297872A, выданный компанией Fuzhou Symbol Information Technology Co. Ltd. «Метод и оборудование для идентификации точечного кода » . патенты.google.com . Национальное управление интеллектуальной собственности Китая. 24 августа 2021 г. CN113297872A.
- ^ «Оценка воздействия DotCode GS1» (PDF) . inexto.com . 16 мая 2017 г.
- ^ «Все мобильные компьютеры CILICO считывают точечный код Tabacco» . linkedin.com .
- ^ «Обновленный 2D-штрих-код открывает потенциал для рынков напитков, дистрибуции и электронной коммерции» . www.packagingdigest.com .
- ^ «Часто задаваемые вопросы по GS1: Где используется GS1 DotCode?» . gs1.org .
- ^ «Регламент (ЕС) 2018/574 о технических стандартах для создания и функционирования системы отслеживания табачных изделий» . eur-lex.europa.eu . 15 декабря 2017 г.
- ^ «Создание штрих-кодов DotCode на C#» . www.aspose.com .
- ^ «Zint библиотеки штрих-кодов с открытым исходным кодом: кодер DotCode на C» . github.com .
- ^ ИСО/МЭК (2019). «ISO/IEC 15434:2019 «Информационные технологии. Методы автоматической идентификации и сбора данных. Синтаксис для носителей АЦП высокой емкости » . iso.org . Международная организация по стандартизации (ISO). ИСО/МЭК 15434.