Является ли UTF-8 предпочтительной кодировкой для QR-кодов с не-ASCII-символами? - PullRequest
4 голосов
/ 14 марта 2012

Google использует UTF-8 по умолчанию для своего очень популярного кодера.Из того, что я вижу, они даже не добавляют метку порядка байтов.

Проблема в том, что большинство сканеров по-прежнему используют JIS8 (QR 2000) вместо iso-8859 (QR 2005) по умолчанию, поэтомув большинстве случаев не работает iso-8859 для кодирования.

Кажется, что utf-8 - единственный выбор, даже если он противоречит спецификации.

edit: я пойду с utf-8 без ИК и без спецификации.Против всех спекуляций и духа, но работает лучше всего на данный момент.

1 Ответ

12 голосов
/ 14 марта 2012

В спецификации сказано, что по умолчанию для кодирования в байтовом режиме используется ISO-8859-1.Однако на практике, да, вы увидите множество Shift-JIS в Японии или UTF-8.

UTF-8 - правильный выбор.Чтобы сделать это правильно, вам нужно указать в потоке, что это UTF-8.Спецификация учитывает это.Перед байтовым сегментом необходимо указать ECI-сегмент , который указывает UTF-8.

Кодер zxing сделает это за вас, если вы отправите ему подсказку о том, что кодировка UTF-8.

...