코드 페이지 932 (Microsoft Windows)

Code page 932 (Microsoft Windows)
Windows 코드 페이지 932
MIME / IANA윈도-31j
에일리어스CP943C
언어일본인입니다
표준.WHATWG 부호화 표준 ('Shift_J'로 표기)IS')
분류확장 [a]ASCII, 가변폭 부호화, CJK 부호화
확장Shift_JIS
  1. ^ ASCII 바이트는 트레일 바이트로 표시될 수 있기 때문에 이 용어의 가장 엄밀한 의미는 아닙니다.

Microsoft Windows 코드 페이지932(MS932,[1][2] Windows-932[2], 또는 애매한 CP932[3])는, Windows-31J라고도 불리며(아래의 용어 참조), Shift JIS 일본어 문자 인코딩의 확장 버전인 일본어용 Microsoft Windows 코드 페이지입니다.표준 7비트 ASCII 코드가 포함되어 있으며 일본어 문자는 1로 설정된 첫 번째 바이트의 높은 비트로 표시됩니다.이 페이지의 일부 코드 포인트는 두 번째 바이트가 필요하기 때문에 문자는 인코딩에 8비트 또는 16비트를 사용합니다.

IBM은 코드 페이지 943(IBM-943 또는 CP943)[4]에서 동일한 확장 더블바이트 코드를 제공합니다. 이 코드는 싱글바이트 코드 페이지 897과 더블바이트 코드 페이지 941의 [5]조합입니다.

Windows-31J 는, Web상에서 가장 많이 사용되는 비 UTF-8/Unicode 일본어 인코딩입니다.사실 Shift JIS는 훨씬 더 선언된 인코딩이지만 W3C/WHATWG HTML 표준에 따르면 인코딩은 동일하게 선언되며, 후자의 이름은 전자의 디코딩을 위해 정의된 표준에서 사용됩니다.통계 정보는 Shift JIS 페이지를 참조하십시오.

용어.

Microsoft의 Shift JIS 변형은 Microsoft Windows에서 간단히 "코드 페이지 932"로 알려져 있지만, IBM의 코드 페이지 932는 Shift JIS 변형이지만 마이크로소프트의 변형(둘 다 IBM 확장자를 포함함)에 있는 NEC 및 NEC 선택 더블바이트 벤더 확장자가 없기 때문에 는 모호합니다.IS X 0208.[4]

IBM의 코드 페이지 943(또는 "IBM-943)에는 Windows 코드 페이지 932와 [4]동일한 이중 바이트 코드가 포함되어 있습니다.Microsoft 버전은 ICU(International Components for Unicode)의 ibm-943_P15A-2003([2]CP943CWindows-932를 포함한 별칭 포함)이라고 하는 인코딩과 거의 일치합니다.IBM의 코드 페이지 정의와 더 가까운 다른 단일 바이트 매핑을 사용하는 ibm-943_P130-1999라는 [6]두 번째 ICU 인코딩도 있습니다.(자세한 것에 대하여는, 다음의 「단일 바이트의 문자차이」를 참조해 주세요).

Windows 코드 페이지932 는, IANA 에 Windows-31J [7]로 등록되어 있습니다.「Windows-31J」라벨은 IANA의 라벨로, Microsoft는 지금까지 「shift_jis」를 대신에 [8]사용해 왔습니다.HTML5에서 사용되는 W3C/WHATWG 인코딩 규격은 라벨 "shift_jis"를 "Windows-31j"와 교환하여 "도입된 [9]콘텐츠와 호환"을 목적으로 취급하며 Windows 코드 페이지 932("IBM 및 [10]NEC의 이전 독점 확장자 포함)와 일치시킵니다.

IANA는 MS_Kanji를 표준 Shift [7]JIS의 별칭으로 취급하지만 Windows 코드 페이지 932는 MS_Kanji라고도 합니다.[2][11]를 들어 Python은 다음 라벨을 사용합니다.MS-Kanji(또는cp932Windows-932 용 및 라벨Shift_JIS(또는sjisJIS X 0208 정의의 Shift JIS의 경우)를 인식하지 않고Windows-31J라벨을 [11]붙입니다.

Windows 일본어판에서는 이 코드 페이지는 ANSI가 정의에 관여하지 않았지만 운영 체제의 기본 8비트 인코딩이기 때문에 "ANSI"라고 불립니다.

표준 Shift JIS와의 차이점

Windows-31J는 표준 Shift JIS로 오인되는 경우가 많습니다(JIS X 0208:1997 부록 1에 정의되어 있습니다).비슷하지만 모하베크를 피하고 싶은 컴퓨터 프로그래머에게 이 차이는 매우 중요합니다.

더블바이트 문자 차이

JIS X 0208, JIS X 0212, JIS X 0213, Windows-31J, 마이크로소프트 표준 레퍼토리 및 유니코드 레퍼토리를 비교하는 오일러 다이어그램

Windows-31J는 표준 JIS X 0201:1997 및 JIS X 0208:1997 문자 외에 [12]의 JIS X 0208 확장자, 즉 "NEC 특수 문자(Row 13), IBM 확장자(Rows 89~92), IBM 확장자(Rows 115~119)[7]의 NEC 선택"을 포함하고 있습니다.또한 NEC 확장 또는 [4]NEC 선택을 포함하지 않는 IBM-932와는 다릅니다.

IBM 확장자는 JIS X 0208에 처음 없었던 IBM 일본어 DBCS-Host 레퍼토리의 문자를 인코딩하도록 설계되었으며, 1983년에 'because' 기호 ¬와 'not' 기호 ¬가 나중에 JIS X 0208 자체에 추가되었으며, 마이크로소프트는 확장 위치뿐만 아니라 1983년 [13]위치에도 포함시켰습니다.NEC 확장자는 또한 IBM 레퍼토리 전체를 인코딩하지만, JIS X 0208 범위를 벗어나는 Shift JIS 코드를 사용하는 대신 94×94 JIS X 0208 그리드(NEC13에 이미 포함된 문자 제외) 내에서 별도의 확장자로 인코딩합니다. Windows 코드 페이지 932는 두 위치에 [13]모두 이러한 388 문자를 포함합니다.그 결과, 이유 기호와 비부호가 3회 부호화됩니다.

이러한 표현 중 일부는 이후 JIS X 0213Shift JIS-2004에 의해 다른 캐릭터로 사용되었습니다.예를 들어, JIS X 0213(시작 gin, ,,[14] …)의 행 89를 IBM/NEC 확장(시작 ,, ,, …)[15]의 JIS X 0208에서 사용되고 있는 행 89와 비교합니다.따라서 Shift JIS-2004는 Windows-31J와 호환되지 않습니다.

위와 같은 권고안 외에, 마이크로 소프트는 내 지표 U+FF5E하기보다는 U+301C,[16]보다 ibm-943_P15A-2003[17]에 머무르고 있지만 ibm-943_P130-1999,[18]고가 규칙에 따라 다른 매핑을 사용하여 매핑 되는 것으로 여러 2바이트 문장 부호 문자 표준 ShiftJIS에 비해 다르( 하지만 시각적으로 비슷한)유니 코드 매핑을 사용한다.uble 바이트 backslash.[16]

단일 바이트 문자 차이

Windows-932에는 하이비트가 0으로 설정된 싱글바이트 시퀀스에 표준7비트 ASCII 매핑이 포함되어 있습니다.따라서 코드 0x5C 및 0x7E는 U+005C REVERSE SOLIDUS로서 Unicode에 매핑됩니다( ).\, 백슬래시) 및 U+007E TILDE (~ASCII(ISO-646-US)의 경우와 같습니다.[19][20][16]이것은 마찬가지로 W3C/WHATWG 부호화 [21]규격에서도 이루어집니다.반면 0x5C는 U+00A5 YEN SIGN에 매핑됩니다.¥ISO-646-JP 및 그 결과 JIS X 0201에 포함되며, 그 중 표준 Shift JIS는 확장입니다.이에 따라 Windows-31J는 더블바이트 0x815F를 U+FF3C FULLWIDCE REVERSE SOLIDUS에 매핑함으로써 백슬래시의 중복 부호화를 회피하고 표준 Shift JIS는 U+005C에 [16]매핑합니다.

다만, Windows-932 의 0x5C 는, 특정의 컨텍스트에서는 [22]Yen 기호로 간주됩니다.이러한 이유로 많은 일본어 글꼴에서 U+005C는 Unicode의 권장 렌더링에 따른 백슬래시가 아니라 일반적으로 U+00A5로 표시되는 Yen 기호로 표시됩니다.U+00A5는 Windows-932의 0x5C에 매핑된 단방향 최적입니다.다만, Windows-932 의 코드 0x5C 는, 일부의 [22]폰트에 의해서 표시되는 방법 이외, 모든 점(Windows 시스템의 파일 패스등)에서 역솔리더스(백슬래시)로서 동작합니다.또, Microsoft 의 Windows-932 용 문서에서는, 0x5C 를 백슬래시로 [20]표시하고 있습니다.[19] 매핑은 International Components for Unicode(ICU;[2] 국제 컴포넌트 for Unicode)의 "ibm-943_P15A-2003"이라는 이름의 인코딩에 대응하고 있습니다.단, 소수의 C0 컨트롤 문자의 경미한 순서 변경은 제외합니다.

IBM-932와 [4]마찬가지로 IBM-943은 0x5C를 Yen 기호로 매핑하는 싱글바이트 코드 페이지 897의 [5]슈퍼셋입니다.¥오버라인에 대한 0x7E(),[23]이 ICU.[6]코드 페이지 897년(며 따라서 또한 IBM-943과 IBM-932)의 인코딩의 이름"ibm-943_P130-1999"이 일어난다 또한 characters,[23] 하지만 이 제품들이 아직도 제어 문자는 context,[24]에 따라와 나만큼이나 속 등장 인물들을 통제할 매핑 되어 있지는 치료를 받을 수 있싱글 바이트 box-drawing 등장 인물 특정한 C0관리를 대체하고 추가합니다CU.[6]

레이아웃

첫 번째 바이트
0 1 2 3 4 5 6 7 8 9 A B C D E F
0
1
2 ! " # $ % & ' ( ) * + , - . /
3 0 1 2 3 4 5 6 7 8 9 : ; < > = > ?
4 @ A B C D E F G H I J K L M N O
5 P Q R S T U V W X Y Z [ \ ] ^ _
6 ` a b c d e f g h i j k l m n o
7 p q r s t u v w x y z { } ~
8
9
A
B ソ
C
D
E
F
두 번째 바이트
0 1 2 3 4 5 6 7 8 9 A B C D E F
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
인쇄할 수 없는 ASCII 문자
ASCII 문자
ASCII 문자, 현지화된 글꼴로 대체할 수 있습니다.
싱글바이트 반각 가타카나
JIS X 0208에서 사용되는 더블바이트 문자의 첫 번째 바이트
더블바이트 NEC 또는 NEC 선택 확장 문자의 첫 번째 바이트
JIS X 0208에서 첫 번째 바이트로 사용되지 않음, 할당되지 않은 공간
더블바이트 IBM 확장문자의 첫 번째 바이트
더블바이트 IBM 지정 사용자 정의 문자의 첫 번째 바이트
첫 번째 바이트로 사용되지 않고 개인 사용 영역에 단일 바이트로 매핑된 최적의 크기
JIS 시퀀스의 전반부가 홀수인 더블바이트 문자의 두 번째 바이트
JIS 시퀀스의 전반부가 짝수인 더블바이트 문자의 두 번째 바이트
더블바이트 문자의 두 번째 바이트로 사용되지 않음


「 」를 참조해 주세요.

레퍼런스

  1. ^ Sivonen, Henri. "Bug 27851 - Add MS932 as a label of Shift_JIS". w3.org Bug Tracker.
  2. ^ a b c d e "Converter Explorer: ibm-943_P15A-2003 (alias windows-31j)". International Components for Unicode: ICU Demonstration.
  3. ^ Aoki, Osamu. "Chapter 11. Data conversion". Debian Reference. Debian.
  4. ^ a b c d e "IBM-943 and IBM-932". IBM Knowledge Center. IBM.
  5. ^ a b "Coded character set identifiers - CCSID 943". IBM Globalization. IBM. Archived from the original on 2016-03-15.
  6. ^ a b c "Converter Explorer: ibm-943_P130-1999". International Components for Unicode: ICU Demonstration.
  7. ^ a b c "Character Sets". IANA.
  8. ^ "Encoding.WindowsCodePage Property - .NET Framework (current version)". MSDN. Microsoft.
  9. ^ van Kesteren, Anne. "4.2. Names and labels". Encoding Standard. WHATWG.
  10. ^ van Kesteren, Anne. "5. Indexes (§ Index jis0208)". Encoding Standard. WHATWG.
  11. ^ a b "7.2.3. Standard Encodings". Python 3.6 Documentation. Python Software Foundation. Retrieved 19 September 2017.
  12. ^ Kaplan, Michael S (2007-05-26). "The PUA outside of Unicode". Sorting it all out.
  13. ^ a b Lunde, Ken (2009). "Appendix E: Vendor Character Set Standards" (PDF). CJKV Information Processing: Chinese, Japanese, Korean & Vietnamese Computing (2nd ed.). Sebastopol, CA: O'Reilly. ISBN 978-0-596-51447-1.
  14. ^ Japanese Industrial Standards Committee (2004-04-13). Japanese Graphic Character Set for Information Interchange, Plane 1 (PDF). ITSCJ/IPSJ. ISO-IR-233.
  15. ^ van Kesteren, Anne. "Index jis0208 visualization". Encoding Standard. WHATWG.
  16. ^ a b c d "Ambiguities in conversion from Shift-JIS to Unicode (Non-Normative)". XML Japanese Profile. W3C.
  17. ^ "Converter Explorer: ibm-943_P15A-2003: start byte 0x81". ICU Demonstration. International Components for Unicode.
  18. ^ "Converter Explorer: ibm-943_P130-1999: start byte 0x81". ICU Demonstration. International Components for Unicode.
  19. ^ a b "CP932.TXT". Unicode Consortium.
  20. ^ a b "Lead byte NULL — Code page 932". Microsoft.
  21. ^ van Kesteren, Anne. "12.3.1. Shift_JIS decoder". Encoding Standard. WHATWG. If byte is an ASCII byte or 0x80, return a code point whose value is byte.
  22. ^ a b Kaplan, Michael S. (2005-09-17). "When is a backslash not a backslash?". Sorting it all out.
  23. ^ a b "CP00897.txt". IBM. Archived from the original on 2019-01-12. Retrieved 2017-09-24.
  24. ^ "Code page identifiers - CP 00897". IBM Globalization. IBM. Archived from the original on 2016-03-17.

외부 링크

Microsoft 관련

IBM 관련