Shift JIS
Shift JIS (anglicky Shift Japanese Industrial Standards), SJIS, MIME jméno Shift_JIS je kódování znaků pro japonštinu původně vyvinuté japonskou společností nazývanou ASCII Corporation ve spojení s firmou Microsoft a standardizované v normě JIS X 0208 jako Appendix 1.
Kódování Shift JIS se stalo velmi oblíbeným poté, co bylo implementováno v operačním systému MS-DOS, ale po roce 2000 jeho význam upadá; v prosinci 2014 jej používalo 1,3 % WWW stránek na světě[1], v dubnu 2017 již pouze 0,9 %. V lednu 2025 používalo kódování Shift JIS méně než 0.05 % zkoumaných WWW stránek (přesněji řečeno je to podíl stránek, které uvádějí jako své kódování Windows-31J, které je nadmnožinou Shift JIS). 1,0 % stránek v doméně .jp, zatímco UTF-8 používá 99 % japonských stránek. [2][3][4]
Historie
[editovat | editovat zdroj]Prvním kódováním znaků pro reprezentaci japonštiny na počítačích, které dosáhlo širšího uplatnění, bylo kódování JIS X 0201 normalizované v roce 1969 pod označením JIS C 6220.
V 80. letech 20. století se spolu s rozšířením 16bitových mikroprocesorů pro osobní počítače objevila řada informačních zařízení s hardwarem schopným zobrazovat všechny abecedy používané v japonštině – hiraganu, katakanu i kandži. Když se pro tato zařízení hledal systém kódování znaků použitelný pro japonštinu, často se vycházelo z osmibitového kódování JIS C 6220 (nyní JIS X 0201) (obsahující znaky ASCII a znaky kana poloviční šířky) a čtrnácti nebo šestnáctibitového kódování JIS C 6226 (nyní JIS X 0208, „kandži“). Standardní metodou pro používání obou znakových sad současně bylo přepínání znakových sad pomocí escape sekvencí definovaných v ISO/IEC 2022.
Návrh Shift JIS měl umožnit míchání těchto znakových sad bez použití escape sekvencí, aby se zmenšila velikost souboru a zkrátila doba zpracování. V normě ISO 2022 jsou ASCII znaky, znaky kana poloviční šířky a znaky kandži reprezentovány každý pomocí jedné z oblastí GL (2116-7E16) a GR (A116-FE16) 8bitového kódového prostoru. Pokud se mají míchat pouze ASCII znaky a znaky kandži, lze ASCII znaky alokovat do oblasti GL a znaky kandži do oblasti GR,[2][pozn. 1] ale rozšířily se implementace, které již ASCII znaky alokovaly do oblasti GL a znaky kana poloviční šířky do oblasti GR, což ztěžuje míchání znaků kandži ve stávajících oblastech GL a GR.
Shift JIS bylo v roce 1982 implementováno tak, že pozice znaků kandži byly přesunuty do volných oblastí v těchto znakových prostorech. Aby toho bylo dosaženo, byl první bajt znaku Kandži generován z oblasti CR (8016-9F16), která byla v ISO 2022 nevyužitá, a také z nevyužité oblasti přibližně jedné třetiny oblasti GR, která byla použita pro znaky kana poloviční šířky. Na rozdíl od normy ISO/IEC 2022 musely být ve druhém bajtu použity téměř celé oblasti GL, CR a GR, včetně oblastí již použitých pro ASCII znaky a znaky kana poloviční šířku. V oblasti GL se však v maximální možné míře vyhnuly symbolům JIS X 0201.
Mapa kódování Shift JIS
[editovat | editovat zdroj]Kódování Shift JIS používá jedno- a dvoubajtové kódy. Jednobajtové kódy jsou převzaté z JIS X 0201, které se v kódech 0-127 až na dvě výjimky shoduje s kódováním ASCII. Volné kódy 129-159 a 224-239 byly použity jako první bajt dvoubajtových kódů znaků z kódové sady JIS X 0208 (označované jako „kandži“, ale obsahující také ASCII znaky, řeckou abecedu, azbuku, rámečky i znaky hiragana a katakana). Slovo Shift v názvu kódování Shift JIS vyjadřuje, že kódy používané pro první bajt kódu znakové sady kandži jsou rozděleny („posunuty“) okolo kódů pro znaky katakana poloviční šířky.
Následující tabulka ukazuje význam jednotlivých bajtů v textu zakódovaném pomocí Shift JIS.
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Výhody
[editovat | editovat zdroj]- Jeden kódový systém umožňující reprezentovat jak znaky plné šířky, tak znaky kana poloviční šířky definované v JIS X 0201.
- Po implementaci v operačním systému MS-DOS se stalo nejpoužívanějším kódováním japonštiny na počítačích.
- Reprezentace textu je kratší než v UTF-8, ve kterém je mnoho kana a kandži znaků poloviční šířky reprezentováno tříbajtovými kódy.
Nevýhody
[editovat | editovat zdroj]- Kvůli použití kódů 161-223 pro znaky kana poloviční šířky vyžaduje převod z jiných kódování nebo na jiná kódování poměrně komplikovaný vzorec.
- Druhý bajt může obsahovat kódy menší než 128, které se používají v ASCII. Proto je obtížné určit hranice jednotlivých znaků. V nejhorším případě je nutné začít číst od začátku souboru. Zpracování textu v tomto kódování je tak obtížnější než ve vícebajtových kódováních EUC-JP a UTF-8.
- Nelze vyjádřit JIS auxiliary kandži.
- Různé firmy používají nestandardní rozšíření, které nejsou popsána v JIS X 0208, při jejichž použití obvykle výměna dat selhává. Jmenovitě široce používanou kódovou stránku 932 společnosti Microsoft nelze použít s rozšířením JIS X 0213 Shift_JIS-2004.
Odkazy
[editovat | editovat zdroj]Poznámky
[editovat | editovat zdroj]- ↑ Přibližně takto je implementováno EUC-JP a vyjádření poloviční šířky kany vyžaduje náhradu.
Reference
[editovat | editovat zdroj]V tomto článku byly použity překlady textů z článků Shift JIS na anglické Wikipedii a Shift_JIS na japonské Wikipedii.
- ↑ http://w3techs.com/technologies/history_overview/character_encoding
- ↑ Historical trends in the usage of character encodings for websites, January 2025 [online]. [cit. 2024-01-07]. Dostupné online.
- ↑ Distribution of Character Encodings among websites that use .jp [online]. [cit. 2024-12-10]. Dostupné online.
- ↑ Distribution of Character Encodings among websites that use Japanese [online]. [cit. 2024-12-10]. Dostupné online.