Kódová stránka 932 (Microsoft Windows) - Code page 932 (Microsoft Windows)
MIME / IANA | Windows-31J |
---|---|
Alias (y) | CP943C |
Jazyk (y) | japonský |
Standard | Standard kódování WHATWG (jako „Shift_JIS“) |
Klasifikace | Rozšířené ASCII,[A] kódování s proměnnou šířkou, Kódování CJK |
Rozšiřuje | Shift_JIS |
| |
Kódová stránka Microsoft Windows 932 (zkráceně MS932,[1][2] Windows-932[2] nebo nejednoznačně CP932[3]), také zvaný Windows-31J mimo jiné jména (viz § Terminologie níže), je Microsoft Windows kódová stránka pro japonština, což je rozšířená varianta Shift JIS japonský Kódování znaků. Obsahuje standardní 7bitovou verzi ASCII kódy a japonské znaky jsou označeny bitem vysoké hodnoty prvního bajtu nastaveného na 1. Některé body kódu na této stránce vyžadují druhý bajt, takže znaky používají pro kódování buď 8 nebo 16 bitů.
IBM nabízí ve svých stejných rozšířených dvoubajtových kódech kódová stránka 943 (IBM-943 nebo CP943),[4] což je kombinace jednobajtového Kódová stránka 897 a dvoubajt Kódová stránka 941.[5]
Windows-31J je nejpoužívanějšíUTF-8 / Japonské kódování Unicode na webu. Vlastně Shift JIS je mnohem deklarovanější kódování, ale podle standardů HTML W3C / WHATWG jsou kódování deklarována stejně, a zatímco druhý název se používá v normách, je definován pro dekódování prvního. Vidět Shift JIS stránka pro statistiku.
Terminologie
Varianta Microsoft Shift JIS je v systému Microsoft Windows známá jednoduše jako „Kódová stránka 932“, je však nejednoznačná jako Kódová stránka IBM 932, i když je také variantou Shift JIS, postrádá rozšíření dvoubajtových dodavatelů NEC a NEC, která jsou přítomna ve variantě Microsoftu (ačkoli obě obsahují rozšíření IBM) a zachovává pořadí JIS X 0208 z roku 1978.[4]
Kódová stránka IBM 943 (nebo „IBM-943“) obsahuje stejné dvoubajtové kódy jako kódová stránka Windows 932.[4] Verze společnosti Microsoft úzce odpovídá kódování označovanému jako ibm-943_P15A-2003 (s aliasy včetně CP943C a Windows-932)[2] v Mezinárodní komponenty pro Unicode (JIP). K dispozici je také druhé kódování ICU s názvem ibm-943_P130-1999,[6] který používá různá jednobajtová mapování, která lépe odpovídají definicím kódové stránky IBM. (Vidět § Rozdíly jednobajtových znaků podrobnosti níže.)
Kódová stránka Windows 932 je registrována u IANA tak jako Windows-31J.[7] Štítek „Windows-31J“ je IANA a není rozpoznán společností Microsoft, která místo toho historicky používala „shift_jis“.[8] The W3C /WHATWG standard kódování používaný HTML5 zachází se štítkem "shift_jis„zaměnitelně s„ windows-31j “se záměrem„ být kompatibilní s rozmístěným obsahem “[9] a odpovídá kódové stránce Windows 932 (včetně „dříve proprietárních rozšíření od IBM a NEC“).[10]
Také se nazývá kódová stránka Windows 932 MS_Kanji,[2][11] ačkoli IANA považuje MS_Kanji jako alias pro standardní Shift JIS.[7] Krajta například používá štítek MS-Kanji
(nebo cp932
) pro Windows-932 a štítek Shift_JIS
(nebo sjis
) pro JIS Shift JIS definované v JIS X 0208, aniž by rozpoznal Windows-31J
označení.[11]
V japonských vydáních systému Windows je tato kódová stránka označované jako „ANSI“, protože se jedná o výchozí 8bitové kódování operačního systému ANSI nebyl zapojen do jeho definice.
Rozdíly od standardního Shift JIS
Windows-31J je často mylně považován za standardní Shift JIS (jak je definováno v JIS X 0208: 1997 Dodatek 1): i když je podobný, rozdíl je významný pro počítačové programátory, kteří se mu chtějí vyhnout mojibake.
Rozdíly dvoubajtových znaků

Kromě standardu JIS X 0201: 1997 a JIS X 0208: 1997 znaků, Windows-31J obsahuje několik rozšíření JIS X 0208, jmenovitě „Speciální znaky NEC (Řádek 13), NEC výběr rozšíření IBM (řádky 89 až 92) a rozšíření IBM (řádky 115 až 119) ",[7] kromě vyčlenění nějakého kódovacího prostoru pro definice koncového uživatele.[12] To se také liší od IBM-932, který nezahrnuje rozšíření NEC ani výběr NEC.[4]
Některá z těchto zobrazení byla následně použita pro různé postavy JIS X 0213 a Shift JIS-2004. Například porovnejte řádek 89 v JIS X 0213 (začátek 硃, 硎, 硏…)[13] do řádku 89, jak jej používá JIS X 0208 s příponami IBM / NEC (začátek 纊, 褜, 鍈…).[14] Shift JIS-2004 proto není kompatibilní s Windows-31J.
Kromě výše uvedeného používá Microsoft odlišné (ale vizuálně podobné) mapování Unicode pro několik dvoubajtových interpunkčních znaků ve srovnání se standardním Shift JIS, jako je například vlna pomlčka bytost mapováno na U + FF5E spíše než U + 301C,[15] na který navazuje ibm-943_P15A-2003[16] ale ne ibm-943_P130-1999,[17] a použití odlišného mapování pro dvoubajtové zpětné lomítko.[15]
Rozdíly jednobajtových znaků
Windows-932 obsahuje standardní 7bitovou verzi ASCII mapování pro jednobajtové sekvence s vysokým bitem nastaveným na 0. Proto jsou kódy 0x5C a 0x7E mapovány na Unicode jako U + 005C REVERSE SOLIDUS (\
, obrácené lomítko ) a U + 007E TILDE (~
) příslušně,[18][19][15] jak jsou v ASCII (ISO-646 -NÁS). To se rovněž provádí standardem kódování W3C / WHATWG.[20] Naproti tomu je 0x5C mapováno na U + 00A5 PODPIS JEN (¥
) v ISO-646-JP a následně JIS X 0201, z toho standardu Shift JIS je rozšíření. Odpovídajícím způsobem se Windows-31J vyhne duplicitnímu kódování zpětného lomítka mapováním dvoubajtového 0x815F na U + FF3C FULLWIDTH REVERSE SOLIDUS, zatímco standardní Shift JIS jej mapuje na U + 005C.[15]
0x5C v systému Windows-932 je nicméně v určitých kontextech považován za znak jenu.[21] Z tohoto důvodu je v mnoha japonských písmech U + 005C zobrazen jako symbol jenu, který by za normálních okolností byl reprezentován jako U + 00A5, spíše než jako zpětné lomítko podle doporučeného vykreslování Unicode. U + 00A5 je jednosměrný nejlépe přizpůsobený mapovaný na 0x5C ve Windows-932. Kód 0x5C se však ve Windows-932 chová ve všech ohledech jako zpětné lomítko (zpětné lomítko) (např. cesty k souborům v systémech Windows) kromě způsobu, jakým je zobrazen některými písmy,[21] a dokumentace společnosti Microsoft pro Windows-932 zobrazuje 0x5C jako zpětné lomítko.[19] Toto mapování[18] odpovídá kódování s názvem "ibm-943_P15A-2003" v Mezinárodní komponenty pro Unicode (JIP),[2] až na drobné doobjednání několika Řídicí znaky C0.
IBM-943, jako IBM-932,[4] je nadmnožinou jednobajtového zařízení Kódová stránka 897,[5] který mapuje 0x5C na symbol jenu (¥
) a 0x7E k overline (‾
),[22] poté následuje kódování s názvem „ibm-943_P130-1999“ na JIP.[6] Kódová stránka 897 (a tedy také IBM-943 a IBM-932) také přidává jednobajtové znaky pro kreslení polí nahrazující určité Řídicí znaky C0,[22] nicméně tyto mohou být stále považovány za kontrolní znaky v závislosti na kontextu,[23] a jsou mapovány na řídicí znaky na JIP.[6]
Rozložení
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Viz také
Reference
- ^ Sivonen, Henri. „Bug 27851 - Add MS932 as a label of Shift_JIS“. Sledovač chyb w3.org.
- ^ A b C d E „Converter Explorer: ibm-943_P15A-2003 (alias windows-31j)“. International Components for Unicode: ICU Demonstration.
- ^ Aoki, Osamu. "Kapitola 11. Konverze dat". Reference k Debianu. Debian.
- ^ A b C d E „IBM-943 a IBM-932“. IBM Knowledge Center. IBM.
- ^ A b "Identifikátory kódované znakové sady - CCSID 943". Globalizace IBM. IBM. Archivovány od originál dne 15. 3. 2016.
- ^ A b C „Converter Explorer: ibm-943_P130-1999“. International Components for Unicode: ICU Demonstration.
- ^ A b C „Sady znaků“. IANA.
- ^ "Vlastnost Encoding.WindowsCodePage - .NET Framework (aktuální verze)". MSDN. Microsoft.
- ^ van Kesteren, Anne. „4.2. Jména a štítky“. Standard kódování. WHATWG.
- ^ van Kesteren, Anne. "5. Rejstříky (§ Rejstřík jis0208)". Standard kódování. WHATWG.
- ^ A b "7.2.3. Standardní kódování". Dokumentace Pythonu 3.6. Softwarová nadace Python. Citováno 19. září 2017.
- ^ Kaplan, Michael S (2007-05-26). „PUA mimo Unicode“. Všechno to vyřeším.
- ^ „233: Japonská sada grafických znaků pro výměnu informací, rovina 1“ (PDF). IPSJ.
- ^ van Kesteren, Anne. "Vizualizace indexu jis0208". Standard kódování. WHATWG.
- ^ A b C d "Nejednoznačnosti při převodu z Shift-JIS na Unicode (nenormativní)". Japonský profil XML. W3C.
- ^ „Converter Explorer: ibm-943_P15A-2003: start byte 0x81“. Demonstrace na JIP. Mezinárodní komponenty pro Unicode.
- ^ „Converter Explorer: ibm-943_P130-1999: start byte 0x81“. Demonstrace na JIP. Mezinárodní komponenty pro Unicode.
- ^ A b „CP932.TXT“. Konsorcium Unicode.
- ^ A b „Lead byte NULL - kódová stránka 932“. Microsoft.
- ^ van Kesteren, Anne. "12.3.1. Shift_JIS dekodér". Standard kódování. WHATWG.
Pokud je byte ASCII byte nebo 0x80, vraťte bod kódu, jehož hodnota je byte.
- ^ A b Kaplan, Michael S. (2005-09-17). „Kdy zpětné lomítko není zpětné lomítko?“. Všechno to vyřeším.
- ^ A b „CP00897.txt“. IBM. Archivováno z původního dne 2019-01-12. Citováno 2017-09-24.
- ^ „Identifikátory kódové stránky - CP 00897“. Globalizace IBM. IBM. Archivovány od originál dne 2016-03-17.
externí odkazy
- Microsoft's Reference for Windows Code Strana 932
- Soubor kódové stránky pro MS932
- Mapování kódové stránky Microsoftu 932 na Unicode
- Ukázka ICU Code Page 943C (ibm-943_P15A-2003 alias windows-31j)