Код Хань Синь (汉信码 на китайском языке, китайский-разумный код ) — это двумерная (2D) матричная символика штрихкода, изобретенная в 2007 году [1] китайской компанией The Article Numbering Center of China [2] (中国物品编码中心 на китайском языке) для разрушения монополии QR-кода . Как QR-код, код Хань Синь состоит из черных квадратов и белых квадратных пространств, расположенных в квадратной сетке на белом фоне. Он имеет четыре шаблона поиска и другие маркеры, которые позволяют распознавать его с помощью считывателей на основе камеры . Код Хань Синь содержит исправление ошибок Рида-Соломона с возможностью считывания поврежденных изображений. В настоящее время он выпущен как ISO/IEC 20830:2021. [3]
Главное преимущество (и требование изобретения), сопоставимое с QR-кодом, — это встроенная возможность изначально кодировать китайские иероглифы вместо японских в QR-коде. Код Han Xin в максимальной версии 84 (размер 189×189) [4] позволяет кодировать 7827 цифровых символов, 4350 английских текстовых символов, 3261 байт и 1044–2174 китайских иероглифа (в зависимости от региона Unicode). Код Han Xin кодирует полные латинские символы ISO/IEC 646 вместо ограниченного количества латинских символов, поддерживаемых QR-кодом . Это делает код Han Xin более подходящим для кодирования английского текста или кодирования данных идентификаторов приложений GS1 [5] .
Кроме того, код Han Xin может кодировать символы Unicode из других языков с помощью специального режима Unicode, [3] : 5.4.12 , который имеет встроенное сжатие без потерь для набора символов UTF-8 и поддержку расширенной интерпретации канала . Код Han Xin имеет специальный режим компактификации для кодирования URI и может уменьшать размер штрихкода, который кодирует ссылки на веб-страницы.
Китайская компания The Article Numbering Center of China (中国物品编码中心 на китайском языке) в течение 10-й пятилетки Китая начала исследования [6] собственной замены QR-кода, чтобы устранить японскую монополию на 2D-штрихкоды. В 2007 году новый стандарт штрихкодов, в то время известный как код Han Xin, был опубликован как GB/T 21049-2007 [1] под названием Chinese-sense code.
В 2011 году [7] американская компания Association for Automatic Identification and Mobility (AIM) представила символику ISS Han Xin Code в качестве официального стандарта кодирования и опубликовала ее в своем магазине. [8]
В 2015 году группа ISO/IEC JTC 1/SC 31 начала внедрение [9] кода Han Xin в качестве международного стандарта и опубликовала его как ISO/IEC 20830:2021 [3] в 2021 году.
В 2022 году китайский стандарт кодирования был пересмотрен как GB/T 21049-2022 [10] и переименован в код Han Xin для соответствия стандарту ISO .
В Патентном и товарном бюро США зарегистрирован ряд патентов, связанных с кодированием и декодированием кода Хань Синь:
Код Han Xin может использоваться так же, как и QR-код . В настоящее время код Han Xin используется в основном в Китае [14], поскольку он имеет встроенную возможность кодирования китайских иероглифов. Однако большинство принтеров штрих-кодов [15] и сканеров штрих-кодов [16] поддерживают код Han Xin. Код Han Xin можно сканировать на мобильных устройствах iOS [17] и Android [18] , а многие библиотеки штрих-кодов [19] [20] поддерживают чтение и запись кода Han Xin.
Основными преимуществами кода Хань Синь являются:
Код Han Xin представляет данные в черно-белых квадратных модулях, где темный модуль — это двоичная единица, а светлый модуль — это ноль. Кроме того, код Han Xin может быть закодирован в инверсных цветах, [3] : 4.1.2, но эта опция во многих считывателях штрих-кодов по умолчанию отключена. Черно-белые модули организованы в квадратную область с размерами от 23 × 23 модулей (версия 1) до 189 × 189 модулей (версия 84). Как и QR-код, код Han Xin не имеет прямоугольных версий, как DataMatrix , и это ограничивает использование кода Han Xin в некоторых случаях. Размер версии кода Han Xin можно рассчитать по следующей формуле:
Кодовый символ Хань Синь состоит из следующих элементов: [3] : 4.2
Шаблон поиска [3] : 4.2.3 состоит из четырех шаблонов определения положения, расположенных в четырех углах штрихкода. Размер шаблона определения положения составляет 7×7 модулей, и он построен из 5 элементов: темные 7 × 7 модулей, светлые 6 × 6 модулей, темные 5 × 5 модулей, светлые 4 × 4 модуля, темные 3 × 3 модуля соответственно.
Коэффициент сканирования каждого шаблона определения положения составляет 1:1:1:1:3 или 3:1:1:1:1 (в зависимости от направления сканирования). Ориентация четырех шаблонов позволяет однозначно определить местоположение и ориентацию штрих-кода.
Каждый шаблон имеет разделитель шаблона определения положения [3] : 4.2.4 с выровненной по нему областью структурной информации.
Шаблоны выравнивания [3] : 4.2.5 добавлены в код Han Xin из версии 4 (версии 1–3 не имеют шаблонов выравнивания) и используются для точного положения ячеек в искаженных штрихкодах. Шаблоны выравнивания в коде Han Xin делятся на:
Шаблон выравнивания состоит из темной линии и смежной с ней светлой линии, ширина которой составляет один модуль. Вспомогательный шаблон выравнивания, состоящий из 5 светлых модулей и 1 темного модуля, обозначает край блока региона своим темным модулем.
Ниже вы можете увидеть примеры кода Хань Синь с различным размещением шаблона выравнивания.
Код Han Xin Structural Information Region [3] : 4.2.7 — это область шириной в один модуль, окружающая четыре шаблона определения положения. Код Han Xin имеет два идентичных массива структурной информации, которые состоят из 34 модулей данных. Каждый массив структурной информации разделен на 17 модулей, которые размещены вокруг каждого шаблона определения положения.
Структурная информационная область кодирует следующие данные: [3] : Приложение E
Биты метаданных от 0 до 11 разбиваются на 4 тетрады бит (m2, m1, m0) и дополняются четырьмя тетрадами исправления ошибок (r3, r2, r1, r0).
Версия + 20 | Уровень исправления ошибок | Индекс маски | Кодовые слова исправления ошибок | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
м2 | м1 | м0 | р3 | р2 | р1 | р0 | |||||||||||||||||||||
Х0 | Х1 | Х2 | Х3 | Х4 | Х5 | Х6 | Х7 | Х8 | Х9 | Х10 | Х11 | Х12 | Х13 | Х14 | Х15 | Х16 | Х17 | Х18 | Х19 | Х20 | Х21 | Х22 | Х23 | X24 | Х25 | Х26 | Х27 |
Чтобы сделать так, чтобы темные и светлые модули кода Han Xin составляли в символе соотношение близкое к 1:1, используется алгоритм маскирования [3] : 5.8.4 . Последовательность маскирования применяется к области данных с помощью операции XOR . Шаблон поиска, шаблоны выравнивания и структурные информационные регионы исключаются из операции маскирования. В следующей таблице показаны алгоритмы шаблона маски (который помещается в структурную информационную область).
Состояние маскирующего раствора | Ссылка на шаблон маски данных |
---|---|
Немаскирующий | 00 |
(i+j) мод 2=0 | 01 |
((i+j)mod 3+( j mod 3)) mod 2=0 | 10 |
(i mod j +j mod i + i mod 3+ j mod 3) mod 2=0 | 11 |
i - Индекс строки символа.
j - Индекс столбца символа.
Оба i и j начинаются с (1,1), модуля верхнего левого угла символа. Когда условие решения маскировки истинно, результирующий бит маски равен 1.
Код Хань Синя использует коррекцию ошибок Рида-Соломона . Закодированные данные представлены в виде массива байтов (8 бит). Массив данных разделен на блоки [3] : Приложение B и последовательность кодовых слов коррекции ошибок генерируются для каждого блока, который добавляется в конец блока коррекции ошибок. После этого все блоки последовательно объединяются в поток байтов.
Полиномиальная арифметика для кода Хань Синь использует конечный полином генерации поля : x^8 + x^6 + x^5 + x (355 или 101100011b) [3] : 5,5 с начальным корнем = 1.
Количество кодовых слов исправления ошибок зависит от версии символа и уровня исправления ошибок и может составлять от 16% до 60%, что позволяет исправить от 8% до 30% повреждений. [3] : 5.6.2
Уровень исправления ошибок | Мощность восстановления % (приблизительно) | Кодировка уровня исправления ошибок |
---|---|---|
Л1 | 8% | 00 |
Л2 | 15% | 01 |
Л3 | 23% | 10 |
Л4 | 30% | 11 |
Данные кода Хань Синь кодируются как массив байтов. Массив байтов данных делится на блоки исправления ошибок, куда добавляются кодовые слова исправления ошибок (байты). Блоки исправления ошибок объединяются в один массив кодовых слов: [3] : 5.8.3
(Закодированный массив байтов) => (Блок исправления ошибок 1) + ... + (Блок исправления ошибок N) => (Массив кодовых слов)
В качестве примера это можно продемонстрировать на коде Han Xin версии 5 с уровнем коррекции ошибок L4. Он имеет 27 закодированных кодовых слов и 2 блока коррекции ошибок с размером каждого блока кодовых слов данных и кодовых слов коррекции ошибок: (14, 20), (13, 22):
(D1...D14, D15...D27) => (D1...D14, E1.1...1.20) + (D15...D27, E2.1...2.22) => (D1...D14, E1.1...1.20, D15...D27, E2.1...2.22) => (C1...C69)
D(x) - Кодовые слова данных.
E(bx) - Кодовое слово ошибки, где b - номер блока, а x - позиция в блоке.
C(x) - Результирующие кодовые слова.
В качестве следующей операции результирующий массив кодовых слов C(x) разбивается на блоки размером 13 байт, которые соединяют кодовые слова в той же позиции каждого блока и формируют новый массив кодовых слов. Результатом является массив байтов того же размера, но смешанный по позиции 13.
(С1...С13, С14...С26, Сn...Cn+12) => (С1, C14, Cn...С13, С26, Cn+12) => (CM1...CMn+12)
CM(x) – смешанный по позиции массив из 13 кодовых слов (байт).
После верхних операций полученные кодовые слова помещаются в область данных построчно слева направо и сверху вниз. Повреждение горизонтальной линии затронет меньше кодовых слов, повреждение вертикальной линии затронет больше кодовых слов.
Код Han Xin может кодировать 7827 числовых символов, 4350 английских текстовых символов, 3261 байт и 1044–2174 китайских иероглифов в максимальной версии 84. [3] : Приложение C Кроме того, он поддерживает специальные режимы Unicode и промышленные режимы. Все режимы можно смешивать для получения наилучшего уровня компактификации данных. В следующей таблице показаны возможности кодирования данных с различными версиями штрихкода и уровнями исправления ошибок.
Версия | Размер | Уровень исправления ошибок | Кодовые слова данных | Кодовые слова исправления ошибок | Числовой | Текст | Байты | Китайские иероглифы |
---|---|---|---|---|---|---|---|---|
1 | 23×23 | Л1 | 21 | 4 | 45 | 26 | 18 | 6–12 |
Л4 | 9 | 16 | 15 | 10 | 6 | 2–4 | ||
... | ||||||||
22 | 65×65 | Л1 | 354 | 68 | 843 | 470 | 351 | 113–234 |
Л4 | 168 | 254 | 399 | 222 | 165 | 53–110 | ||
... | ||||||||
84 | 189×189 | Л1 | 3264 | 622 | 7827 | 4350 | 3261 | 1044–2174 |
Л4 | 1554 | 2332 | 3723 | 2070 | 1551 | 497–1034 |
Все режимы кодирования можно разделить на следующие группы: [3] : 5.3.1
Режим | Индикаторы режима | Бит на символ |
---|---|---|
Числовой | 0001б | 3.3 (10 бит для трех цифр) |
Текст | 0010б | 6 |
Двоичный байт | 0011б | 8 |
Распространенные китайские иероглифы в регионе один | 0100б | 12 |
Распространенные китайские иероглифы в регионе 2 | 0101б | 12 |
GB18030 2-байтовый регион | 0110б | 15 |
GB18030 4-байтовый регион | 0111б | 21 |
ЭКИ | 1000б | Переменная (многобайтовый режим) |
Юникод | 1001б | Адаптивный (сжатие без потерь) |
ГС1 | 11100001б | Переменная (числовой + текстовый режимы) |
URI | 11100010б | Переменная (2–7 бит на символ) |
Входная строка данных в числовом режиме [3] : 5.4.4 делится на блоки по три цифры (последний блок может быть меньше трех) и кодируется 10 битами (0000000000b - 1111100111b). Данные режима предваряются индикатором режима 0001b и заканчиваются терминатором режима, который также указывает количество цифр в последней группе.
Цифровые символы в последней группе | Режим терминатора |
---|---|
1 | 1111111101б |
2 | 1111111110б |
3 | 1111111111б |
В качестве примера нам нужно закодировать последовательность цифр 12700402:
Префикс => 0001b
127 => 000111111
004 => 0000000100
02 => 0000000010
Терминатор => 1111111110b
Текстовый режим кодирует набор символов данных из ISO/IEC 646. Каждый символ представлен 6 битами. [3] : 5.4.5 Все символы делятся на два подмножества: подрежим Text1 и подрежим Text2. Значение 11110b используется для переключения между текстовыми подрежимами, 111111b является терминатором режима. Текстовый режим начинается с подрежима Text1.
Характер | Значение ASCII | Значение кодировки | Характер | Значение ASCII | Значение кодировки | Характер | Значение ASCII | Значение кодировки |
---|---|---|---|---|---|---|---|---|
0 | 48 | 000000б | Л | 76 | 010101б | г | 103 | 101010б |
1 | 49 | 000001б | М | 77 | 010110б | час | 104 | 101011б |
2 | 50 | 000010б | Н | 78 | 010111б | я | 105 | 101100б |
3 | 51 | 000011б | О | 79 | 011000б | дж | 106 | 101101б |
4 | 52 | 000100б | П | 80 | 011001б | к | 107 | 101110б |
5 | 53 | 000101б | В | 81 | 011010б | л | 108 | 101111б |
6 | 54 | 000110б | Р | 82 | 011011б | м | 109 | 110000б |
7 | 55 | 000111б | С | 83 | 011100б | н | 110 | 110001б |
8 | 56 | 001000б | Т | 84 | 011101б | о | 111 | 110010б |
9 | 57 | 001001б | У | 85 | 011110б | п | 112 | 110011б |
А | 65 | 001010б | В | 86 | 011111б | д | 113 | 110100б |
Б | 66 | 001011б | Вт | 87 | 100000б | г | 114 | 110101б |
С | 67 | 001100б | Х | 88 | 100001б | с | 115 | 110110б |
Д | 68 | 001101б | И | 89 | 100010б | т | 116 | 110111б |
Э | 69 | 001110б | З | 90 | 100011б | ты | 117 | 111000б |
Ф | 70 | 001111б | а | 97 | 100100б | в | 118 | 111001б |
Г | 71 | 010000б | б | 98 | 100101б | ж | 119 | 111010б |
ЧАС | 72 | 010001б | с | 99 | 100110б | х | 120 | 111011б |
я | 73 | 010010б | г | 100 | 100111б | у | 121 | 111100б |
Дж. | 74 | 010011б | е | 101 | 101000б | з | 122 | 111101б |
К | 75 | 010100б | ф | 102 | 101001б |
Характер | Значение ASCII | Значение кодировки | Характер | Значение ASCII | Значение кодировки | Характер | Значение ASCII | Значение кодировки |
---|---|---|---|---|---|---|---|---|
НУЛЕВОЙ | 0 | 000000б | НАК | 21 | 010101б | . | 46 | 101010б |
САХ | 1 | 000001б | СИН | 22 | 010110б | / | 47 | 101011б |
СТХ | 2 | 000010б | ЭТБ | 23 | 010111б | : | 58 | 101100б |
ЭТХ | 3 | 000011б | МОЖЕТ | 24 | 011000б | ; | 59 | 101101б |
ЭОТ | 4 | 000100б | ЭМ | 25 | 011001б | < | 60 | 101110б |
ENQ | 5 | 000101б | СУБ | 26 | 011010б | = | 61 | 101111б |
АСК | 6 | 000110б | ЕСК | 27 | 011011б | > | 62 | 110000б |
БЕЛ | 7 | 000111б | СП | 32 | 011100б | ? | 63 | 110001б |
БС | 8 | 001000б | ! | 33 | 011101б | @ | 64 | 110010б |
ХТ | 9 | 001001б | » | 34 | 011110б | [ | 91 | 110011б |
ЛФ | 10 | 001010б | # | 35 | 011111б | \ | 92 | 110100б |
ВТ | 11 | 001011б | $ | 36 | 100000б | ] | 93 | 110101б |
ФФ | 12 | 001100б | % | 37 | 100001б | ^ | 94 | 110110б |
CR | 13 | 001101б | & | 38 | 100010б | _ | 95 | 110111б |
ТАК | 14 | 001110б | ' | 39 | 100011б | ` | 96 | 111000б |
СИ | 15 | 001111б | ( | 40 | 100100б | { | 123 | 111001б |
ДЛЕ | 16 | 010000б | ) | 41 | 100101б | | | 124 | 111010б |
ДК1 | 17 | 010001б | * | 42 | 100110б | } | 125 | 111011б |
ДК2 | 18 | 010010б | + | 43 | 100111б | ~ | 126 | 111100б |
ДК3 | 19 | 010011б | , | 44 | 101000б | ДЕЛ | 27 | 111101б |
DC4 | 20 | 010100б | - | 45 | 101001б |
Двоичный режим кодирует массив байтов [0 – 255] в любой форме. Двоичный режим [3] : 5.4.6 состоит из индикатора двоичного режима 0011b, 13-битного двоичного счетчика и байтовых данных, которые преобразуются в 8-битную последовательность. Терминатор режима не требуется.
Режимы китайских иероглифов — это набор из 4 режимов, которые кодируют китайские иероглифы из кодовой страницы GB 18030 .
Режим | Индикатор режима | Биты | Количество символов кодировки | Описание |
---|---|---|---|---|
Распространенные китайские иероглифы в режиме региона один [3] : 5.4.7 | 0100б | 12 | 4074 | Кодирует символы из регионов GB 18030, в которых: значение первого байта находится в диапазоне от B0 до D7, а значение второго байта находится в диапазоне от A1 до FE (3760 символов), значение первого байта находится в диапазоне от A1 до A3, а значение второго байта находится в диапазоне от A1 до FE (282 символа), в диапазоне от A8A1 до A8C0 (32 символа). |
Распространенные китайские иероглифы в режиме региона 2 [3] : 5.4.8 | 0101б | 12 | 3008 | Кодирует символы из региона GB 18030, значение первого байта которого находится в диапазоне от D8 до F7, а значение второго байта — в диапазоне от A1 до FE (3008 символов). |
GB18030 2-байтовый режим региона [3] : 5.4.9 | 0110б | 15 | 23940 | Кодирует символы из региона GB 18030, значение первого байта которого находится в диапазоне от 81 до FE, а значение второго байта находится в диапазоне от 40 до 7E или от 80 до FE (23940 символов). |
GB18030 4-байтовый режим региона [3] : 5.4.10 | 0111б | 21 | 1587600 | Кодирует символы из региона GB 18030, в котором значение первого байта находится в диапазоне от 81 до FE, значение второго байта находится в диапазоне от 30 до 39, значение третьего байта находится в диапазоне от 81 до FE, а значение четвертого байта находится в диапазоне от 30 до 39 (1587600 символов). |
Режим Unicode [3] : 5.4.12 кодирует набор символов UTF-8 со встроенным сжатием без потерь . В режиме Unicode входные данные анализируются с помощью самоадаптивного алгоритма. Во-первых, входные данные делятся и объединяются в 1, 2, 3 или 4-байтовые шаблоны предварительного кодирования подпоследовательностей, а во-вторых, применяется алгоритм сжатия данных длины серии для кодирования каждой подпоследовательности входных данных.
Вкратце, режим Unicode ищет символы на подстраницах, которые могут иметь одинаковую последовательность префиксов для всех символов одного языка (кириллица, греческий, французский, немецкий... языки), и кодирует только отличия от последовательности байтов префикса.
Режим GS1 кода Хань Синь [3] : 5.4.13 является индикатором того, что представленные данные определены в GS1 General Specification. Режим GS1 кодирует данные в числовых и текстовых режимах. Могут использоваться и другие режимы, но режим GS1 должен быть первым режимом в символе, а закодированные данные должны быть возвращены с флагом GS1. <FNC1> (если требуется) должен быть закодирован как 1111101000b в числовом режиме (числовой режим кодирует только три цифры, поэтому значение 1111101000b => 1000 считается специальным символом). В случае, если идентификатор <FNC1> должен быть вставлен, а кодировщик находится в любом режиме, отличном от числового, режим должен быть завершен, а числовой режим должен быть запущен. Индикатор режима GS1 - 11100001b, а терминатор режима GS1 - 11111111b.
Данные в режиме GS1 разделяются на GS1 Application Identifiers chinks и затем уплотняются с лучшими режимами. Например, можно закодировать следующие данные:
(10)123456ABC<FNC1>(240)DATA
Данные кодируются следующим образом:
<11100001b> <Числовой 10123456> <Текст ABC> <Селектор числового режима> <1111101000b> <Числовой 240> <Текст DATA> <11111111b>
Режим URI кода Хань Синя [3] : 5.4.14 кодирует ссылки URI в компактном кодировании. Индикатор режима URI — 11100010b, а терминатор режима URI — 111b. Режим URI может кодировать данные в трех наборах символов: URI-A, URI-B, URI-C [3] : Приложение M с собственными терминаторами подрежима. Режим URI может кодировать данные %XX в специальном подрежиме Percent-Encoding, где три символа кодируются в 8 битах.
Кодировка | Индикатор кодировки |
---|---|
URI-A | 001б |
URI-B | 010б |
МОЧЕВОЙ | 011б |
Процентное кодирование | 100б |
Ограничитель режима URI | 111б |
Подрежим Percent-Encoding кодирует данные %XX в 8-битной последовательности. Режим не требует терминатора. Для кодирования данных URI %XX в этом режиме необходимо добавить индикатор подрежима (100b), затем 8-битный индикатор 8-битной последовательности подрежима (счетчик = Длина %XX / 3) и после этой последовательности, где %FF, или %ff, или %00, необходимо добавить как байты xFF или x00.
Кодировка URI-A | Кодировка URI-B | ||||
---|---|---|---|---|---|
Символ/фрагмент URI | Значение кодировки | Кодирование битов | Символ/фрагмент URI | Значение кодировки | Кодирование битов |
а | 0 | 000000 | А | 0 | 000000 |
б | 1 | 000001 | Б | 1 | 000001 |
с | 2 | 000010 | С | 2 | 000010 |
г | 3 | 000011 | Д | 3 | 000011 |
е | 4 | 000100 | Э | 4 | 000100 |
ф | 5 | 000101 | Ф | 5 | 000101 |
г | 6 | 000110 | Г | 6 | 000110 |
час | 7 | 000111 | ЧАС | 7 | 000111 |
я | 8 | 001000 | я | 8 | 001000 |
дж | 9 | 001001 | Дж. | 9 | 001001 |
к | 10 | 001010 | К | 10 | 001010 |
л | 11 | 001011 | Л | 11 | 001011 |
м | 12 | 001100 | М | 12 | 001100 |
н | 13 | 001101 | Н | 13 | 001101 |
о | 14 | 001110 | О | 14 | 001110 |
п | 15 | 001111 | П | 15 | 001111 |
д | 16 | 010000 | В | 16 | 010000 |
г | 17 | 010001 | Р | 17 | 010001 |
с | 18 | 010010 | С | 18 | 010010 |
т | 19 | 010011 | Т | 19 | 010011 |
ты | 20 | 010100 | У | 20 | 010100 |
в | 21 | 010101 | В | 21 | 010101 |
ж | 22 | 010110 | Вт | 22 | 010110 |
х | 23 | 010111 | Х | 23 | 010111 |
у | 24 | 011000 | И | 24 | 011000 |
з | 25 | 011001 | З | 25 | 011001 |
0 | 26 | 011010 | ! | 26 | 011010 |
1 | 27 | 011011 | * | 27 | 011011 |
2 | 28 | 011100 | ( | 28 | 011100 |
3 | 29 | 011101 | ) | 29 | 011101 |
4 | 30 | 011110 | , | 30 | 011110 |
5 | 31 | 011111 | { | 31 | 011111 |
6 | 32 | 100000 | } | 32 | 100000 |
7 | 33 | 100001 | | | 33 | 100001 |
8 | 34 | 100010 | \ | 34 | 100010 |
9 | 35 | 100011 | ^ | 35 | 100011 |
. | 36 | 100100 | [ | 36 | 100100 |
/ | 37 | 100101 | ] | 37 | 100101 |
- | 38 | 100110 | ' | 38 | 100110 |
_ | 39 | 100111 | < | 39 | 100111 |
~ | 40 | 101000 | > | 40 | 101000 |
: | 41 | 101001 | % | 41 | 101001 |
@ | 42 | 101010 | " | 42 | 101010 |
? | 43 | 101011 | ; | 43 | 101011 |
# | 44 | 101100 | .htm | 44 | 101100 |
= | 45 | 101101 | .html | 45 | 101101 |
+ | 46 | 101110 | .asp | 46 | 101110 |
$ | 47 | 101111 | .aspx | 47 | 101111 |
& | 48 | 110000 | .php | 48 | 110000 |
http:// | 49 | 110001 | .jsp | 49 | 110001 |
https:// | 50 | 110010 | гтин | 50 | 110010 |
фтп:// | 51 | 110011 | сер | 51 | 110011 |
почта: | 52 | 110100 | летучая мышь | 52 | 110100 |
ldap:// | 53 | 110101 | эксп | 53 | 110101 |
тел: | 54 | 110110 | поиск | 54 | 110110 |
урна: | 55 | 110111 | идентификатор | 55 | 110111 |
www. | 56 | 111000 | .jp | 56 | 111000 |
.ком | 57 | 111001 | .это | 57 | 111001 |
.сеть | 58 | 111010 | .de | 58 | 111010 |
.gov | 59 | 111011 | .br | 59 | 111011 |
.org | 60 | 111100 | .fr | 60 | 111100 |
.cn | 61 | 111101 | гс1 | 61 | 111101 |
Перейти к URI-B | 62 | 111110 | Перейти к URI-A | 62 | 111110 |
Терминатор URI-A | 63 | 111111 | Терминатор URI-B | 63 | 111111 |
Символ/фрагмент URI | Значение кодировки | Кодирование битов | Символ/фрагмент URI | Значение кодировки | Кодирование битов | Символ/фрагмент URI | Значение кодировки | Кодирование битов |
---|---|---|---|---|---|---|---|---|
А | 0 | 0000000 | Р | 43 | 0101011 | ; | 86 | 1010110 |
Б | 1 | 0000001 | С | 44 | 0101100 | / | 87 | 1010111 |
С | 2 | 0000010 | Т | 45 | 0101101 | ? | 88 | 1011000 |
Д | 3 | 0000011 | У | 46 | 0101110 | : | 89 | 1011001 |
Э | 4 | 0000100 | В | 47 | 0101111 | @ | 90 | 1011010 |
Ф | 5 | 0000101 | Вт | 48 | 0110000 | & | 91 | 1011011 |
Г | 6 | 0000110 | Х | 49 | 0110001 | = | 92 | 1011100 |
ЧАС | 7 | 0000111 | И | 50 | 0110010 | http:// | 93 | 1011101 |
я | 8 | 0001000 | З | 51 | 0110011 | https:// | 94 | 1011110 |
Дж. | 9 | 0001001 | 0 | 52 | 0110100 | фтп:// | 95 | 1011111 |
К | 10 | 0001010 | 1 | 53 | 0110101 | почта: | 96 | 1100000 |
Л | 11 | 0001011 | 2 | 54 | 0110110 | ldap:// | 97 | 1100001 |
м | 12 | 0001100 | 3 | 55 | 0110111 | тел: | 98 | 1100010 |
Н | 13 | 0001101 | 4 | 56 | 0111000 | урна: | 99 | 1100011 |
О | 14 | 0001110 | 5 | 57 | 0111001 | www. | 100 | 1100100 |
П | 15 | 0001111 | 6 | 58 | 0111010 | .ком | 101 | 1100101 |
В | 16 | 0010000 | 7 | 59 | 0111011 | .сеть | 102 | 1100110 |
Р | 17 | 0010001 | 8 | 60 | 0111100 | .gov | 103 | 1100111 |
С | 18 | 0010010 | 9 | 61 | 0111101 | .org | 104 | 1101000 |
Т | 19 | 0010011 | $ | 62 | 0111110 | .cn | 105 | 1101001 |
У | 20 | 0010100 | - | 63 | 0111111 | .htm | 106 | 1101010 |
В | 21 | 0010101 | _ | 64 | 1000000 | .html | 107 | 1101011 |
ж | 22 | 0010110 | . | 65 | 1000001 | .asp | 108 | 1101100 |
Х | 23 | 0010111 | + | 66 | 1000010 | .aspx | 109 | 1101101 |
И | 24 | 0011000 | ! | 67 | 1000011 | .php | 110 | 1101110 |
З | 25 | 0011001 | * | 68 | 1000100 | .jsp | 111 | 1101111 |
А | 26 | 0011010 | ( | 69 | 1000101 | гтин | 112 | 1110000 |
Б | 27 | 0011011 | ) | 70 | 1000110 | сер | 113 | 1110001 |
С | 28 | 0011100 | , | 71 | 1000111 | летучая мышь | 114 | 1110010 |
Д | 29 | 0011101 | { | 72 | 1001000 | эксп | 115 | 1110011 |
Э | 30 | 0011110 | } | 73 | 1001001 | поиск | 116 | 1110100 |
Ф | 31 | 0011111 | | | 74 | 1001010 | идентификатор | 117 | 1110101 |
Г | 32 | 0100000 | \ | 75 | 1001011 | .jp | 118 | 1110110 |
ЧАС | 33 | 0100001 | ^ | 76 | 1001100 | .это | 119 | 1110111 |
я | 34 | 0100010 | ~ | 77 | 1001101 | .de | 120 | 1111000 |
Дж. | 35 | 0100011 | [ | 78 | 1001110 | .br | 121 | 1111001 |
К | 36 | 0100100 | ] | 79 | 1001111 | .fr | 122 | 1111010 |
Л | 37 | 0100101 | ' | 80 | 1010000 | гс1 | 123 | 1111011 |
М | 38 | 0100110 | < | 81 | 1010001 | поиск | 124 | 1111100 |
Н | 39 | 0100111 | > | 82 | 1010010 | Перейти к URI-A | 125 | 1111101 |
О | 40 | 0101000 | # | 83 | 1010011 | Перейти к URI-B | 126 | 1111110 |
П | 41 | 0101001 | % | 84 | 1010100 | Терминатор URI-C | 127 | 1111111 |
В | 42 | 0101010 | " | 85 | 1010101 |