Сборник японских стандартов цифрового кодирования символов
В вычислительной технике кодировка JIS относится к нескольким японским промышленным стандартам кодирования японского языка . [1] Строго говоря, этот термин означает либо:
- Набор стандартных кодированных наборов символов для японского языка, в частности:
- JIS X 0201 — японская версия ISO 646 ( ASCII ), содержащая базовые 7-битные символы ASCII (с некоторыми изменениями) и 64 символа катаканы половинной ширины.
- JIS X 0208 — наиболее распространённый набор символов кандзи , содержащий 6879 символов, включая 6355 кандзи и 524 других символа (одна плоскость 94 на 94)
- JIS X 0212 , дополнение к JIS X 0208, которое добавляет 5801 кандзи, в общей сложности 12 156 кандзи (вторая плоскость 94 на 94)
- JIS X 0213 , который расширяет JIS X 0208 (два самолета)
- JIS X 0202 (также известный как ISO-2022-JP) — набор механизмов кодирования для отправки символьных данных JIS через среды передачи, поддерживающие только 7-битные данные.
На практике «кодировка JIS» обычно относится к символьным данным JIS X 0208, закодированным с помощью JIS X 0202. Например, IANA использует JIS_Encoding
метку для обозначения JIS X 0202, а ISO-2022-JP
метку — для обозначения его профиля, определенного RFC 1468. [2]
Другие механизмы кодирования для символов JIS включают кодировку Shift JIS и EUC-JP . Shift JIS добавляет кандзи, полноширинную хирагану и полноширинную катакану из JIS X 0208 в JIS X 0201 в обратном порядке. [3] Shift JIS, пожалуй, является наиболее широко используемой кодировкой в Японии, поскольку совместимость с однобайтовым набором символов JIS X 0201 позволила производителям электронного оборудования (например, производителям кассовых аппаратов) предложить обновление со старого более дешевого оборудования, которое не могло отображать кандзи, на более новое оборудование, сохраняя совместимость с набором символов.
EUC-JP используется в системах UNIX , где кодировки JIS несовместимы со стандартами POSIX .
Более современной альтернативой символам в кодировке JIS является Unicode ( символы в кодировке UCS ), в частности, в механизме кодирования UTF-8 .
Сравнение кодировок
В следующей таблице сравниваются характеристики трех основных схем кодирования для JIS X 0208.
- ^ т.е. не требует 8-битной чистой передачи.
- ^ т.е. последовательность, используемая для кодирования данного символа, всегда одна и та же, независимо от того, какими были предыдущие символы. См. state (computer science) .
- ^ ab ISO-2022-JP — это кодировка с сохранением состояния : все наборы символов кодируются по 0x21–7E и переключаются между ними с помощью экранированных символов ANSI. Таким образом, хотя в исходном состоянии это ASCII, целые последовательности символов, не входящих в ASCII, могут кодироваться байтами ASCII.
- ^ Катакана JIS X 0201 доступна в JIS X 0202 и ISO 2022, но не включена в базовый профиль ISO-2022-JP, хотя и является общим расширением.
- ^ JIS X 0212 доступен в JIS X 0202 и ISO 2022, а также включен в профили ISO-2022-JP-1 и ISO-2022-JP-2, но не в базовый профиль ISO-2022-JP.
- ^ Однобайтовые символы 0x21–7E в Shift_JIS соответствуют кодировке ISO-646-JP , чтобы быть надмножеством 8-битного JIS X 0201, но часто декодируются (не обязательно отображаются) как ASCII, который отличается только в двух местах.
- ^ Некоторые (не все) байты ASCII могут появляться как вторые байты, но не первые байты двухбайтовых символов в Shift_JIS. Следовательно, в последовательности из двух или более байтов ASCII, второй байт и далее обязательно являются символами ASCII (или ISO-646-JP).
- ^ ab Упакованный формат EUC основан на механизмах ISO 2022 с предопределенными обозначениями наборов символов. Экранирования обозначений наборов символов и блокирующие сдвиги избегаются, тогда как использование одиночных сдвигов может быть реализовано без сохранения состояния. Тем не менее, ограничения ISO 2022 соблюдаются.
- ^ Однобайтовые символы 0x21–7E в EUC-JP обычно считаются ASCII, но иногда рассматриваются как ISO-646-JP .
- ^ В отличие от Shift_JIS, EUC-JP не будет обрабатывать простой 8-битный ввод JIS X 0201 без предварительного преобразования из-за различного представления катаканы JIS X 0201 (с одинарными сдвигами).
- ^ JIS X 0212 в EUC-JP не всегда реализован.
- ^ Помимо свойств самих кодировок, форматы Unicode имеют дополнительные преимущества, вытекающие из базового набора символов: они не ограничены символами JIS, но могут представлять всю UCS (включая полный репертуар символов JIS), и, следовательно, подходят для международного использования. Они также менее сильно подвержены влиянию конфликтующих фирменных расширений из-за их большего базового репертуара и обозначенных областей частного использования.
- ^ Большинство побитовых сдвигов фреймов текста в кодировке UTF-8 приведут к созданию недопустимого UTF-8, однако можно создать последовательности символов, которые останутся допустимыми в UTF-8 даже при сдвиге фрейма на один или несколько бит.
- ^ Только Microsoft.
- ^ Хотя GB 18030 и GBK являются расширениями формы EUC-CN GB/T 2312, они не следуют ограничениям EUC или ISO 2022, в отличие от EUC-JP (или исходного EUC-CN).
- ^ Хотя теоретически UTF-32 является самосинхронизирующимся только для 32-битных dword-слов, использование 32-битного значения для представления 21-битного значения означает, что на практике UTF-32 содержит непрерывную последовательность из не менее 11 нулевых бит в верхней части каждого символа, что обычно можно использовать для выравнивания по границам символов в зависимости от задействованных кодовых точек.
Смотрите также
Ссылки