코드 페이지 949(IBM)

Code page 949 (IBM)
IBM 코드 페이지 949
IBM Korea KS PC-Data encoding (IBM-949).svg
IBM-949 코드 페이지 레이아웃
에일리어스
  • IBM-949, x-IBM949
  • ASCII 기반: IBM-949C, x-IBM949C, cp949c
  • UHC에서는 애매:949, cp949
언어한국인입니다
작성자IBM
분류확장 ISO 646, 가변 폭 부호화, CJK 부호화
확장EUC-KR
선행코드 페이지 944

IBM 코드 페이지 949(IBM-949)는 IBM이 컴퓨터에서 한국어 텍스트를 나타내기 위해 사용한 문자 인코딩입니다.한국 표준 KS X 1001에서 정의한 완성 코드의 문자를 EUC-KR과 호환되는 형식으로 나타내지만, 추가 한자, 추가 사전 구성 한글 음절 및 사용자 정의 문자에 대한 IBM 확장자를 추가하는 가변 폭 인코딩입니다.

16진수로 값을 지정하면 바이트 0x00 ~0x7F는 싱글바이트 KS X 1003(ISO 646:KR) 문자. ASCII와 유사하지만 백슬래시가 아닌 원 기호를 사용합니다.바이트 0x80 ~0x84 는, IBM 의 싱글 바이트 확장 문자에 사용됩니다.리드 바이트 0x8F ~0xA0은 IBM 더블 바이트 확장 문자에 사용됩니다.리드 바이트 0xA1 ~0xFE는 Wansung 코드(EUC-KR 형식의 KS X 1001 문자, 더블 바이트)에 사용되지만, 사용자 정의용으로 미사용 영역이 일부 개방되어 있습니다.

둘 다 "cp949"로 명명될 수 있지만 IBM-949는 EUC-KR의 다른 확장자인 Microsoft의 통합 한글 코드인 Windows 코드 949 페이지(IBM-1363)와 다릅니다.또한 IBM의 플레인 EUC-KR(IBM-970) 구현과 혼동해서는 안 됩니다.OS/2의 코드 페이지 949는 IBM 코드 페이지이지만,[1] 이를 변경하기 위한 타사 패치가 존재합니다.

용어 및 부호화 라벨 표시

IBM-949와 통합 한글 코드(Windows-949)는 모두 공통으로 EUC-KR 하위 집합만 공유하지만 "코드 페이지 949"(또는 "cp949)로 알려져 있습니다.식별하기 위한 표준화된 IANA 등록 라벨도 없습니다.UHC는 WHATWG Encoding Standard(WHATWG 인코딩 표준)[2][3]에 포함되지만, IBM-949는 포함되지 않습니다.따라서 IBM-949는 HTML5에서 허용되지 않습니다.

라벨 'ibm-949'(및 반대로 'Windows-949'와 'ms949')의 의미는 명확하지만 부호화 라벨 '949'와 'cp949'의 해석은 구현에 따라 달라집니다.예를 들어, 국제 소재 유니 코드에"cp949","949년","ibm-949"과"x-IBM949"IBM-949,[4]에 참조 바라며 앞으로 추가로 붙어 있는 라벨"cp949c","ibm-949c"과"x-IBM949C"는 동안 자세한 내용은 라벨의 통합되는 0x20–7E(중복 매핑의 백 슬래시에 결과)[5]에 변경되지 않은 아스키 매핑을 사용하는 변형에 참조하는 데 사용된다.e바리e 페이지 번호949)는 "ms949" 및 "Windows-949"만 UHC에 [6]할당됩니다.이는 "cp949"와 "949"를 모두 UHC의 레이블로 인식하고 IBM-949 코덱을 [7]포함하지 않는 Python과는 대조적입니다.한국어 버전의 OS/2에서 사용되는 코드 페이지 949는 IBM 코드 페이지입니다. 전체 Unicode 한글 음절 집합을 지원하기 위해 이를 Microsoft 코드 [1]페이지로 대체하는 타사 패치가 있습니다.

IBM-949는 2개의 고정 폭 코드 페이지(싱글 바이트 코드 페이지 1088 및 더블 바이트 코드 페이지 951)[8][9][10]의 조합으로 정의된 가변인코딩입니다.

역사

IBM-949의 더블바이트 구성요소인 코드 페이지 951(DBCS-PC, 즉 더블바이트 비 EUC EBCDIC, 코드)의 버전은 코드 834, DBA와 함께 IBM 기업 사양 C-H 3-3220-125 개정판에 정의되어 있습니다.이 버전의 코드 페이지 949/951에서는 리드 바이트 범위 전체가 0x8F로 간주되었습니다.A0은 사용자 정의 영역이며 표준 Wansung 할당 및 사용자 정의 영역만 포함되므로 코드 페이지 933/834에 [11]포함된 일부 문자는 포함되지 않습니다.International Components for Unicode(ICU; 국제 컴포넌트 for Unicode)에서 구현된 것과 같은 일부 이후 버전에서는 사용자 정의 영역이 축소되어 이러한 문자가 [12]확장자로 포함됩니다.

IBM 코드 페이지 934 및 944
언어한국인입니다
확장N바이트 한글 코드
변환/인코딩코드 페이지 933
에 의해 성공자IBM 코드 페이지 949

1989년 10월 개정판 C-H 3-3220-125에서는 대신 코드 페이지 926을 DBCS-PC 코드로 정의했습니다.DBCS-PC 코드는 IBM-951 및 IBM-834와는 다른 레이아웃으로 IBM-834와 동일한 문자를 인코딩했습니다.이 레이아웃은 리드 바이트 범위가 다르고 EUC-KR [11]확장이 아닙니다.IBM-926은 코드 페이지 891 또는 코드 페이지 1040(각각 8비트 N바이트 한글 코드 및 그 확장자, Shift JIS가 8비트 JIS X 0201을 확장하는 방법 비교)과 결합하여 [13][14]각각 IBM-934 또는 IBM-944를 형성했습니다.

코드 페이지 944/926은 이제 IBM-949를 위해 사용되지 않습니다.1992년 개정판에서는 코드 페이지926이 "제한됨"([등록된] 특정 환경에 한정됨)으로 지정되어 있으며 다른 코드 페이지로부터의 [11]차트나 매핑은 제공되지 않습니다.CCSID 944는 "공존과 이행"[14]으로 분류됩니다(CCSID 949의 [8]경우 "상호운용 가능").International Components for Unicode에는 IBM-949[4][12] 및 IBM-933용 Unicode 매핑이 포함되어 있지만 IBM-944 매핑은 2001년에 [15]제거되었습니다.

싱글 바이트 코드

IBM 코드 페이지 949(싱글 바이트 구성요소: 1088)[16][17][4][5][12]
0 1 2 3 4 5 6 7 8 9 A B C D E F
0x 없음
1배
2배 SP ! " # $ % & ' ( ) * + , - . /
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배 ¢ ¬ \ ¦ 8층
9배 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9층
도끼 A0 1-_ 2-_ 3-_ 4-_ 5-_ 6-_ 7-_ 8-_ 9-_ 10-_ 11-_ 12-_ 13-_ 14-_ 15-_
Bx 16-_ 17-_ 18-_ 19-_ 20-_ 21-_ 22-_ 23-_ 24-_ 25-_ 26-_ 27-_ 28-_ 29-_ 30-_ 31-_
Cx 32-_ 33-_ 34-_ 35-_ 36-_ 37-_ 38-_ 39-_ 40-_ 41-_ 42-_ 43-_ 44-_ 45-_ 46-_ 47-_
Dx 48-_ 49-_ 50-_ 51-_ 52-_ 53-_ 54-_ 55-_ 56-_ 57-_ 58-_ 59-_ 60-_ 61-_ 62-_ 63-_
64-_ 65-_ 66-_ 67-_ 68-_ 69-_ 70-_ 71-_ 72-_ 73-_ 74-_ 75-_ 76-_ 77-_ 78-_ 79-_
Fx 80-_ 81-_ 82-_ 83-_ 84-_ 85-_ 86-_ 87-_ 88-_ 89-_ 90-_ 91-_ 92-_ 93-_ 94-_
코드 페이지 437(0x00~7F) 또는 EUC-KR(0x80~)과의 차이점FF)

더블 바이트 코드

리드 바이트 0x8F~99, 0xC9, 0xFE(사용자 정의 범위)

IBM-949는 최대 1880개의 UDC(사용자 정의 문자)[8]를 지원하도록 설계되어 있습니다.여기에는 Wansung 플레인 미사용 행 내의 범위와 Wansung 플레인 외부의 범위가 포함됩니다.이 버전에서는 리드 바이트 0x8F-A0에는 최대 1692 UDC가 포함되어 있으며 리드바이트 0xC9 및 0xFE에는 각각 최대 94(트레일바이트 0xA0~)가 포함되어 있습니다.FE)[11] 단, IBM-933의 전체 더블바이트 레퍼토리를 지원하는 확장기능이 구현되면 리드바이트 0x9A~A0이 사용되므로 사용자 [4][12]정의에 사용할 수 있는 최대 글자 수가 줄어듭니다.

Unicode에 매핑된 경우 0xC9A1~C9FE(음절과 한자 범위 사이)는 Unicode Private Use Area 코드 포인트 U+E000~E05D에 매핑되며 0xFEA1~FEFE(한자 범위 끝과 플레인 끝 사이)는 U+E05E~E0B에 매핑됩니다.Wansung 플레인 외부, 0x8FA0 ~9AA5 (두 번째 바이트는 0xA1 ~)FE)는, 프라이빗 유스 에리어 코드 포인트 U+E0BC~E4CA [4]에 매핑 됩니다.이러한 범위 중 마지막은 0x9A 행의 시작 부분으로 잘라집니다(아래 그림 참조).

이러한 개인 사용 범위는 집합적으로 U+E000 코드 포인트를 포함합니다.E4CA: 1227 UDC를 IBM-949에서 [12]Unicode로 매핑할 수 있습니다.개별 개인 사용 구역 범위 U+F843..F86E는 IBM에서 확장 한자 범위 [12]내의 일부 문자를 매핑하는 데 사용됩니다.이는 Unicode Consortium의 초기 권장사항에 따라 기업 문자를 U+F8FF에서 아래쪽으로 할당하고 사용자 정의 문자를 U+[18]E000에서 위쪽으로 할당하며 IBM에 의해 내부적으로 정의되며 U+F83D 범위를 사용하는 대규모 기업 전용 영역 체계에 속합니다.F8FF.[19][20]

리드 바이트 0x9A~9D(확장 기호 및 한자)

1992년 사양에 따라 이 전체 범위는 사용자 [11]정의입니다.단, IBM이 ICU에 제공한 코덱에서 구현한 바와 같이 0x9AA1 ~0x9AA5는 사용자 정의 범위의 끝입니다.이 범위의 나머지에는 코드 페이지 933에 포함된 비한글 문자가 포함되지만 완성 코드에는 포함되지 않습니다.0x9AA6 ~ 0x9AAAB에는 다양한 기술적 또는 수학적 기호가 포함되어 있습니다.나머지는 KS X 1001에 포함된 한자에 추가되지만, 일부는 IBM에 의해 개인 사용 [12]영역에 매핑됩니다.

IBM 코드 페이지 949(0x9A로 [12][22]수정됨)
0 1 2 3 4 5 6 7 8 9 A B C D E F
도끼 ǂ[a] k ʺ
Bx
Cx
Dx
Fx
IBM 코드 페이지 949(0x9B로 [12][22]수정됨)
0 1 2 3 4 5 6 7 8 9 A B C D E F
도끼 祿 窿
Bx
Cx
Dx
巿
Fx
IBM 코드 페이지 949(0x9C로 [12][22]수정됨)
0 1 2 3 4 5 6 7 8 9 A B C D E F
도끼 婿
Bx 宿
Cx
Dx
Fx
IBM 코드 페이지 949(0x9D로 [12][22]수정됨)
0 1 2 3 4 5 6 7 8 9 A B C D E F
도끼
Bx
Cx
Dx
Fx

리드 바이트 0x9E~A0(확장 한자 및 음절)

1992년 사양에 따라 이 전체 범위는 사용자 [11]정의입니다.IBM이 ICU에 제공한 코덱에 구현된 바와 같이 0x9EA1 ~0x9EAC에는 나머지 확장한자가 포함되어 있습니다.나머지 범위에는 순수한 EUC-KR에서는 사전 구성 형식으로 제공되지 않는 몇 개의 한글 음절이 추가로 포함되어 있습니다.통일 한글 코드와 달리, 이것은 완성 [12]코드에 없는 모든 부분적이지 않은 조합 음절을 지원하기에는 불충분하다.

이들 중 중요한 것은 ((rwae, 0x9EFC), ((sssya, 0x9FE6, 0x9FED), ((sssyu, 0x9FF3) 및 ((jyo, 0xA0C1)로 표준 Wansung의 선두에 대응합니다.

IBM 코드 페이지 949(0x9E로 [12]수정됨)
0 1 2 3 4 5 6 7 8 9 A B C D E F
도끼
Bx
Cx 꾿
Dx
Fx
IBM 코드 페이지 949(0x9F로 [12]수정됨)
0 1 2 3 4 5 6 7 8 9 A B C D E F
도끼
Bx
Cx 뻿
Dx
Fx
IBM 코드 페이지 949(0xA0으로 [12]수정됨)
0 1 2 3 4 5 6 7 8 9 A B C D E F
도끼
Bx
Cx 찿
Dx
Fx

리드 바이트 0xA1~C8, 0xCA~FD(표준 완성)

「 」를 참조해 주세요.

각주

  1. ^ 이것은 IPA 지원에는 포함되지 않습니다.오히려 코드 페이지 933에서 SO 0x4160은 슬래시와 함께 표시되며, IBM-933 SO 0x418D는 백슬래시(예: =[11]slash)와 함께 표시됩니다.통상적으로 동일하지 않은 GCGID SA540080(SA540000의 전폭)에 매핑되는 것은 IBM-933 SO 0x4160이지만, ks-phals에 대한 참조가 없기 때문에 EUC-KR 및 IBM-949 0xA1C1에 매핑된 것은 IBM-933 SO 0x418D입니다.[11]따라서 U+2260은 EUC-KR에 매핑되고 IBM-949 0xA1C1은 IBM-933 SO 0x418D에 매핑되며 IBM-933 SO 0x4160(따라서 IBM-949 0x9AA6)은 U+01C2에서 [24]시각적으로 유사한 문자에 매핑됩니다.

레퍼런스

  1. ^ a b Borgendale, Ken. "OS/2 Codepage and Keyboard Display Tools".
  2. ^ van Kesteren, Anne, "5. Indexes (§ index EUC-KR)", Encoding Standard, WHATWG, This matches the KS X 1001 standard and the Unified Hangul Code, more commonly known together as Windows Codepage 949.
  3. ^ van Kesteren, Anne. "4.2. Names and labels". Encoding Standard. WHATWG.
  4. ^ a b c d e "Converter Explorer: ibm-949_P110-1999 (alias x-IBM949)", International Components for Unicode, Unicode Consortium
  5. ^ a b 이것은 ASCII 기반의 IBM-949 버전입니다"Converter Explorer: ibm-949_P11A-1999 (alias x-IBM949C)", International Components for Unicode, Unicode Consortium.
  6. ^ "windows-949-2000", Converter Explorer, International Components for Unicode
  7. ^ "codecs — Codec registry and base classes § Standard Encodings". Python 3.7.2 documentation. Python Software Foundation.
  8. ^ a b c "Coded character set identifiers: CCSID 949". IBM Globalization. IBM. Archived from the original on 2014-11-29.
  9. ^ "CCSID 1088 information document". Archived from the original on 2016-03-26.
  10. ^ "Code page 951 information document". Archived from the original on 2017-01-16.
  11. ^ a b c d e f g h i j "IBM Korean Graphic Character Set: DBCS-Host and DBCS-PC" (PDF). IBM. 2001 [1992]. C-H 3-3220-125 1992-09.
  12. ^ a b c d e f g h i j k l m n o International Components for Unicode (ICU), ibm-949_P110-1999.ucm, 2002-12-03
  13. ^ "Coded character set identifiers: CCSID 934". IBM Globalization. IBM. Archived from the original on 2014-12-02.
  14. ^ a b "Coded character set identifiers: CCSID 944". IBM Globalization. IBM. Archived from the original on 2014-12-01.
  15. ^ Viswanadha, Ram (2001-11-01). "ICU-1281 Remove unwanted ucmfiles". International Components for Unicode.
  16. ^ Code Page CPGID 01088 (pdf) (PDF), IBM
  17. ^ Code Page CPGID 01088 (txt), IBM
  18. ^ "2.0: Changes in Unicode 1.0" (PDF). The Unicode Standard, Version 1.1. Unicode Consortium. pp. 3–4. UTR #4.
  19. ^ a b "CPGID 01449: IBM default PUA". IBM Globalization: Code page identifiers. IBM. Archived from the original on 2015-09-16. IBM has designated 195 positions from U+F83D to U+F8FF for use as IBM Corporate-zone and intends to use them consistently within IBM whenever there is a need to maintain the round-trip integrity of IBM characters.
  20. ^ IBM (1997). unicode.nam: Allow the Unicode characters to be specified using either the IBM or PostScript like names. (에 포함)
  21. ^ "ibm-933_P110-1995.ucm". International Components for Unicode.
  22. ^ a b c d Private Use Area mapped hanja는 코드 차트에서 식별됩니다.IBM 문서 C-H 3-3220-125 1992-09에는 이러한 확장자가 없는 코드 페이지 933 및 코드 페이지 949의 이전 버전의 더블바이트 구성요소로 사용된 코드 페이지에 대한 코드 차트가 나와 있지만, 이 절의 한자는 "PC 코드"가 [11]나열되지 않은 표 7의 하위 집합에 해당하며, 순서와 동일합니다.기업 프라이빗 사용 영역 매핑은 코드 페이지933을 [21]포함한 다른 코드 [19]페이지와도 연계되어 있습니다.이 페이지를 사용하여 특정 기업 프라이빗 사용 영역 매핑의 "호스트 코드"를 취득할 수 있습니다.
  23. ^ Korea Bureau of Standards (1988-10-01). Korean Graphic Character Set for Information Interchange (PDF). ITSCJ/IPSJ. ISO-IR-149.
  24. ^ "ibm-933_P110-1995 (lead bytes 0E41)". Converter Explorer. International Components for Unicode.