Конвертер кодировок текста

EUC-JP: японская кодировка мира Unix

Перекодировать текст из EUC-JP ↓

В 1980-е годы японский язык пришёл не только на персональные компьютеры, но и в мир Unix. Однако кодировка Shift_JIS, ставшая стандартом на персональных компьютерах, плохо подходила для Unix-систем. Её второй байт мог совпадать с символами ASCII, а программы Unix широко использовали эти символы как служебные. Поэтому для Unix была разработана другая кодировка, EUC-JP, где EUC означает Extended Unix Code, то есть "расширенный код Unix".

Главное преимущество EUC-JP состоит в том, что все байты многобайтовых символов больше 127. Ни один байт иероглифа не может совпасть с символом ASCII, поэтому программы Unix, которые ищут в тексте косую черту, кавычки или перевод строки, никогда не спутают их с частью японского символа. Это сделало EUC-JP безопасной для использования в путях к файлам, командной строке и исходных текстах программ.

Кодировка основана на тех же японских стандартах, что и Shift_JIS. Иероглифы и знаки из JIS X 0208 записываются двумя байтами, каждый из которых получен добавлением 128 к коду символа в стандарте. Полуширинная катакана записывается двумя байтами с особым первым байтом. Кроме того, EUC-JP поддерживает дополнительный стандарт JIS X 0212 с редкими иероглифами, которые записываются тремя байтами. Shift_JIS этих символов не поддерживает.

Долгое время EUC-JP была основной японской кодировкой в Unix, Linux и интернете. На ней работали многие японские сайты, особенно созданные на языках Perl и PHP, а также почтовые серверы и базы данных. Японские пользователи Unix привыкли к тому, что тексты из Windows нужно перекодировать из Shift_JIS в EUC-JP, а программы для такой перекодировки были установлены почти на каждом сервере.

Ошибки при смешении EUC-JP и Shift_JIS выглядят особенно запутанно. Слово "文字化け", то есть "моджибаке", записанное в EUC-JP и прочитанное как Shift_JIS, превращается в "ハクサ嵂ス、ア": смесь полуширинной катаканы и случайных иероглифов. Если же текст в Shift_JIS прочитать как EUC-JP, большинство байтов окажется недопустимым, и вместо текста появятся знаки замены. При чтении EUC-JP в Windows-1252 получается набор латинских букв с акцентами: "ʸ»ú²½¤±".

Отличить EUC-JP от Shift_JIS можно по характерным признакам. Текст в EUC-JP, прочитанный в европейской кодировке, состоит почти полностью из букв с акцентами и символов верхней половины таблицы, без обычных латинских букв. В Shift_JIS, наоборот, среди символов часто встречаются латинские буквы и знаки ASCII, поскольку второй байт иероглифа может совпадать с ними.

Сегодня японские сайты и системы перешли на UTF-8, но EUC-JP встречается в старых сайтах, документах, базах данных и программах для Unix. Если японский текст превратился в набор полуширинной катаканы или букв с акцентами, укажите EUC-JP исходной кодировкой и преобразуйте текст в UTF-8.