QRkoder

Kanji mode (QR)

Kanji mode — режим кодирования QR для японских иероглифов кандзи в кодировке Shift JIS. 13 бит на символ (на 19% компактнее byte mode), до 1817 иероглифов в QR-40.

Что такое Kanji mode

Kanji mode — четвёртый режим кодирования в QR-коде, предназначенный для японских иероглифов кандзи и символов кана в кодировке Shift JIS. Идентификатор — 1000 (двоичный). Режим работает только с двумя диапазонами Shift JIS, закреплёнными за кандзи, и не обрабатывает латиницу, кириллицу, китайский Hanzi или корейский хангыль. Стандарт ISO/IEC 18004 делает его обязательным для всех совместимых кодировщиков.

13-битная упаковка Shift JIS

В Shift JIS иероглиф занимает 2 байта (16 бит). Kanji mode вычитает базовое смещение (0x8140 или 0xC140), умножает старший байт разности на 0xC0, прибавляет младший байт. Результат — число 0–7451 — укладывается в 13 бит. Экономия 3 бита на символ даёт 19% прироста ёмкости против Byte mode. Максимальная ёмкость — 1817 иероглифов (QR-40, уровень L).

Почему создан японцами

Denso Wave разрабатывала QR-код для маркировки автозапчастей Toyota в 1994 году. Производственная документация вела в Shift JIS, поэтому нативная поддержка кандзи с минимальным расходом битов была условием эффективного применения. После принятия ISO/IEC 18004:2000 Kanji mode остался обязательным для всех совместимых устройств.

Альтернативы для других языков

Kanji mode — единственный языкоспецифичный режим стандарта. Для остальных письменностей используют Byte mode + ECI: кириллица — ECI 26 (UTF-8, 2 байта) или ECI 7 (CP1251, 1 байт, компактнее); китайский Hanzi и корейский хангыль — Byte mode + UTF-8. Проприетарный «Hanzi mode» у ряда генераторов выходит за рамки ISO/IEC 18004.

Частые вопросы

Все ли генераторы поддерживают Kanji mode?

Большинство автоматически переключается при обнаружении символов Shift JIS диапазонов 0x8140–0x9FFC и 0xE040–0xEBBF. Часть сервисов использует Byte mode для всего текста — QR-код выходит на 19% крупнее. Если компактность важна, выбирайте генератор с явной поддержкой Kanji mode.

Можно ли смешивать Kanji mode с другими режимами?

Да. QR поддерживает сегментацию: иероглифы — Kanji mode (13 бит), цифры — Numeric (3–4 бита), URL — Byte mode. Алгоритм оптимальной сегментации описан в аннексе J ISO/IEC 18004.

Почему китайские иероглифы не подходят для Kanji mode?

Kanji mode привязан к числовым диапазонам Shift JIS. Китайский Hanzi использует GB2312/GBK — коды не совпадают даже для графически идентичных знаков. Корректный вариант — Byte mode + UTF-8.

Есть ли аналог Kanji mode для русского языка?

Нет. ISO/IEC 18004 не предусматривает сжатого режима для кириллицы. Для компактного QR с русским текстом используйте Byte mode + ECI 7 (CP1251): 1 байт на символ против 2 байт в UTF-8.

Создавайте QR-коды бесплатно

Динамические QR-коды с аналитикой, дизайном и без ограничений по сканированиям.

Начать бесплатно