Сетевые кодировки японского языка.

Сетевые кодировки японского языка.

Хотя собственно японский язык не очень сложен, он использует одну из самых сложных систем письменности. См. например "Японский для всех" А.Н. Колесникова или введение к книге "Как пишут в Японии". Кроме того, что применяется два разных алфавита : хирагана(hiragana) и катакана (katakana), применяются также и иероглифы (kanji) которых просто очень очень много . В современном японском 1850 только "официальных" иероглифов, куча старинных, а также имена собственные, географические названия и т.д.

Все это, конечно же, вызывает проблемы с использованием японской письменности в вычислительной технике (базы данных (SQL), e-mail, news, WWW). Такое большое количество символов невозможно представить одним байтом. Поэтому применяют многобайтовые кодировки, когда один символ занимает два, три или более байт.

Набор "допустимых" иероглифов неоднократно пересматривался, но к счастью, в настоящее время набор японских символов вполне стандартизован. Основную работу по стандартизации проделала Japanese Standards Association, разработавшая семейство стандартов JIS (Japanese Industrial Standards), например JIS X 0201, JIS X 0208, JIS X 0212 .

JIS X 0201 (1976) - определяет два 7-битных набора символов и один 8-ми битный. Первый 7-ми битный набор - это эквивалент ASCII, за исключением кодовой позиции 5/12 содержащей YEN SIGN вместо BACKSLASH и кодовой позиции 7/14, содержащей OVERSCORE вместо TILDE. Второй 7-ми битный кодовый набор содержит катакану которая в нем называется "hankaku" - то есть буквы половинной ширины. Эти символы занимают только половину ширины обычных японских иероглифов (Kanji) которые называются "zenkaku" - то есть символы полной ширины. Последний 8-ми битный набор - это объединение двух 7-ми битных наборов, где катакана расположена в пространстве G1 ISO-2022 (от 10/0 до 15/15) в котором использованы только позиции от 10/1 до13/15.

JIS X 0208 (1983) - определяет набор из 6353 иероглифов (Kanji), 169 Kana, 166 латинских, греческих, и кириллических символов, 10-ти цифр, 147 специальных символов, и 32 специальных знаков препинания, всего 6877 символов. Символы расположены по секциям, по 94 символа каждая, которые отображаются в пространство G0 ISO-2022 (от 2/1 до 7/14 = 94 кодовых позиций). Иероглифы (kanji) согласно этому стандарту делятся на две группы: 2965 level 1 Kanji, и 3388 level 2 Kanji. Эти два набора отличаются принципом сортировки: level 1 отсортирован согласно фонетическому принципу; level 2 отсортирован по ключам и по количеству черт.

JIS X 0212 (1990) - определяет набор из примерно 6000 дополнительных иероглифов, не определенных в JIS X 0208. Эти kanji отсортированы подобно level 2 в JIS X 0208, то есть по ключам, количествам черт, и по омонимам.

Сетевые кодировки.

Написанием софта для Японии занимались как крупные транснациональные компании (Microsoft, IBM, SUN) так и собственные японские разработчики. И к сожалению (подобно ситуации в русском языке) они наплодили большое количество различных кодировок. Большинство этих кодировок базируются на стандартах JIS (кроме UNICODE).

Вот пять разных HTML файлов в разных японских MultiByte кодировках :

* Первые два символа U+6587 и U+5B57 - "символ" по-японски, потом слово "character" латиницей, потом слово "символ" : шесть букв в кириллице. (Японские кодировки JIS X 0208 содержат кириллицу и греческие буквы).

Кодировки HTML проставлены через META и одновременно через .htaccess. Метод. Надеюсь, ваш броузер их покажет.

Кодировка JIS - самая старая. На самом деле, это кодировка набора символов JIS сделанная по стандарту ISO-2022. Имеет MIME типы ISO-2022-JP (RFC-1468) и ISO-2022-JP-1 (RFC-2237). Отличается тем, что содержит символ ESC (033) прямо в тексте документа. Иногда это удобно (например для вывода на принтер с поддержкой JP) иногда - не очень (для SQL, e-mail, news и web). Для кодирования каждого символа JIS требуется два байта. "Назначателями" для JIS X 0208 в строке ISO-2022 являются следующие последовательности:

Кодировка Shift-JIS, иначе именуемая CP_932 была введена компанией Microsoft в своей операционной системе MS-DOS/V для NEC-PC и MS-Windows 3.1(J). Она основана на механизмах DBCS (Double-Byte Code Set). Младшая половина набора - символы ASCII. Старшая половина - коды многобайтных символов (A0-DF - однобайтовая kana). Эта кодировка стала практически стандартом для личной e-mail и WWW из за своей распространенности на японских персоналках.

Схема организации кодировки Shif-JIS.

Кодировка EUC (Extended Unix Code) точнее EUC-JP применяется на UNIX-машинах и продвигается в основном производителями рабочих станций : SUN, IBM, HP. Иногда применяется на крупных корпоративных сайтах. MIME charset: EUC-JP

Соответствие между Shift-JIS и EUC

Кодировка UTF-8 - UNICODE. Пока не очень активно применяется из за прохладного отношения к идее UNICODE CJK-Unification (то есть объединения японских, китайских и корейских символов, сходных по начертанию), поскольку считается, что UNICODE CJK более ориентировано на Китай. Однако после появления неплохих бесплатных UNICODE True-Type фонтов (например MSMINCHO.TTF) имеющих вполне "японское" начертание, эта кодировка начинает применяться все шире. UTF-8 -- весьма перспективная кодировка, поскольку кроме японского языка может кодировать символы любых других языков.

Еще одна кодировка - NCR - это в действительности HTML 4.0 форма UNICODE, где каждый символ представлен в виде NCR (Numeric Character Reference) : &xxxx;, то есть фактически его номером в UNICODE. Работает только для HTML в большинстве современных браузеров (Netscape, Opera, MS IE). Очень удобна, когда надо вставить несколько иероглифов в документ HTML 4.0, например в русский или Latin-1.

📎📎📎📎📎📎📎📎📎📎