Открыть сервис

Shift JIS

Shift JIS — это кодировка символов для японского языка, разработанная компанией Microsoft в 1993 году на основе более ранних стандартов, таких как JIS X 0208 и JIS X 0201. Она представляет собой однобайтовую кодировку с переменной длиной символа, где символы ASCII (0x00–0x7F) кодируются одним байтом, а японские иероглифы (кандзи), хирагана, катакана и другие символы — двумя байтами. Shift JIS является одной из наиболее распространённых кодировок для японского текста в операционных системах Windows, на веб-сайтах и в компьютерных играх, особенно до начала 2010-х годов, когда её постепенно начали вытеснять Unicode (UTF-8).

История

Предыстория: ранние японские кодировки

До появления Shift JIS для представления японского текста использовались несколько стандартов. Основными из них были JIS X 0201 (однобайтовая кодировка для катаканы и ASCII) и JIS X 0208 (двухбайтовая кодировка для кандзи, хираганы и катаканы). Однако эти стандарты не были совместимы друг с другом: JIS X 0201 занимала диапазон 0x21–0x7E, а JIS X 0208 — диапазон 0x21–0x7E для первого и второго байтов, что приводило к конфликтам при попытке использовать их вместе. Кроме того, в ранних кодировках, таких как EUC-JP (Extended Unix Code for Japanese), символы ASCII и JIS X 0201 кодировались одним байтом, а JIS X 0208 — двумя байтами с использованием старшего бита, что делало их несовместимыми с ASCII в старших байтах.

Разработка Microsoft

В начале 1990-х годов компания Microsoft, стремясь обеспечить поддержку японского языка в своей операционной системе Windows 3.1, разработала собственную кодировку, которая была названа Shift JIS. Название отражает принцип кодирования: символы JIS X 0208 «сдвигаются» (shift) в старшие диапазоны, чтобы избежать конфликтов с ASCII и JIS X 0201. Первая версия Shift JIS была представлена в 1993 году вместе с Windows 95, хотя сама кодировка использовалась и в более ранних версиях Windows для японского рынка (Windows 3.1J). В 1997 году она была стандартизирована как JIS X 0208:1997, а позже — как часть стандарта Unicode.

Распространение и упадок

Shift JIS быстро стала доминирующей кодировкой для японского текста в персональных компьютерах, особенно в Windows, где она использовалась по умолчанию для японской локализации. Она также широко применялась на веб-сайтах (до 2010-х годов около 30% японских сайтов использовали Shift JIS), в компьютерных играх (например, ранние игры для Windows и Sega Saturn), а также в текстовых редакторах и базах данных. Однако с ростом популярности Unicode, особенно UTF-8, которая поддерживает все символы всех языков в одной кодировке, Shift JIS начала уступать позиции. К 2020-м годам её использование сократилось до менее 1% веб-сайтов, хотя она всё ещё встречается в устаревших системах, некоторых играх и документах.

Принцип кодирования

Структура

Shift JIS использует переменную длину символа:

Первый байт двухбайтового символа всегда находится в диапазоне 0x81–0x9F или 0xE0–0xEF, что позволяет однозначно отличать его от однобайтовых символов (0x00–0x7F). Второй байт может быть в диапазоне 0x40–0x7E (кроме 0x7F) или 0x80–0xFC. Это означает, что второй байт может совпадать с ASCII-символами (например, 0x41 — буква 'A'), но декодер распознаёт его как часть двухбайтового символа, если первый байт указывает на это.

Таблица кодирования

Shift JIS включает:

Примеры

Версии и расширения

Microsoft Shift JIS (CP932)

Наиболее распространённая версия Shift JIS — это кодовая страница 932 (CP932) от Microsoft, которая включает дополнительные символы, отсутствующие в стандартном JIS X 0208, такие как:

CP932 используется в Windows для японского языка и отличается от стандартной Shift JIS (JIS X 0208:1997) наличием этих расширений. Она также включает символы для совместимости с более ранними кодировками, такими как NEC PC-9801.

Другие версии

Применение

Операционные системы

Веб-сайты

В 1990-х и 2000-х годах Shift JIS была одной из самых популярных кодировок для японских веб-сайтов, наряду с EUC-JP и UTF-8. Она поддерживалась всеми основными браузерами (Internet Explorer, Firefox, Chrome, Safari). Однако с 2010-х годов UTF-8 стала стандартом, и к 2024 году менее 0,5% сайтов используют Shift JIS (по данным W3Techs).

Компьютерные игры

Многие японские компьютерные игры, особенно выпущенные до 2010 года, используют Shift JIS для хранения текста. Это связано с тем, что кодировка была стандартом для Windows и консолей (например, Sega Saturn, Dreamcast). Примеры игр:

Документы и базы данных

Shift JIS широко использовалась в текстовых редакторах (например, Microsoft Word на японском языке), базах данных (например, Oracle, MySQL) и файловых системах (например, FAT32 с японскими именами файлов). До сих пор многие старые документы, особенно созданные в 1990-х годах, остаются в Shift JIS.

Проблемы и критика

Несовместимость с Unicode

Shift JIS не поддерживает символы других языков (кириллицу, арабский, китайский) без использования дополнительных кодировок. Это делает её неудобной для многоязычных приложений. Кроме того, Shift JIS не поддерживает символы из стандарта Unicode, такие как эмодзи (до версии Shift_JIS-2004, которая добавила некоторые символы, но не эмодзи).

Проблемы с кодированием

Устаревание

С переходом на Unicode, особенно UTF-8, Shift JIS стала считаться устаревшей. UTF-8 поддерживает все символы всех языков, не имеет проблем с совместимостью и занимает меньше места для текстов на латинице. Однако Shift JIS всё ещё используется в некоторых устаревших системах, особенно в Японии, где многие предприятия и государственные учреждения имеют старые базы данных и приложения.

Интересные факты

Источники

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →