GBK(문자 부호화)

GBK (character encoding)
궈자비오쥔궈잔(GBK)
GBK encoding.svg
GBK 레이아웃(이 그림의 더 큰 복사본은 아래 참조)
MIME / IANAGBK
에일리어스CP936, MS936, Windows-936, csGBK
언어웹 브라우저는 GB 18030으로 디코딩하여 모든 언어를 지원하며 인코딩(및 기타 소프트웨어 디코더)은 중국어 간체(간체)에 주로 사용되며 중국어, 일본어, 영어, 러시아어 및 그리스어(일부)도 지원합니다.
표준.GBK 1.0
분류확장 [a]ASCII, 가변폭 부호화, CJK 부호화
확장EUC-CN
선행GB 2312
에 의해 성공자GB 18030
  1. ^ ASCII 바이트는 트레일 바이트로 표시될 수 있기 때문에 이 용어의 가장 엄밀한 의미는 아닙니다.

GBK는 GB 2312 문자 세트의 확장자로, 중화인민공화국에서 사용되고 있습니다.GB 13000.1-93에 있는 모든 통합 CJK 문자(ISO/IEC 10646:1993 또는 Unicode 1.1)가 포함됩니다.1993년에 처음 출시된 이후, 마이크로소프트는 코드 페이지 936/1386에서 GBK를 확장하여 GBK 1.0으로 확장했습니다.GBK는 Microsoft [1]매핑의 IANA 등록 인터넷 이름이기도 합니다.이는 주로 싱글바이트의 유로 기호가 0x80인 다른 구현과 다릅니다.

GB는 중국어로 국가표준을 뜻하는 Guojia Biaozhun을 약자로 하고, K는 Extension(확장)을 나타냅니다.GBK는 옛 표준 GB 2312를 번체 한자로 확장했을 뿐만 아니라 1981년 GB 2312가 설립된 후 간체한 한자로 확장했습니다.GBK가 등장하면서 주룽지 전 중국 총리의 이름에 있는 ((ó)자처럼 이전에는 대표할 수 없었던 몇몇 이름들이 이제는 [2]대표될 수 있게 되었다.

3월 2022[업데이트]의 GBK 사람들이 많이 인기 있는 중국의 인코딩(하위 집합 후 GB2312),로 웹 페이지의 2.3%중국과 영토에서 it,[3]을 선언하는 스프이며, 이로 표시되는 모든 웹 페이지 globally,[4]의 0.1%수준이었으나 그들은 마치"g가 있는 모든 주요 웹 브라우저."GB2312"또는"GB2312"서류 예로 표시되어 암호를 해독하다bk"( 아니모두, 「GB_2312」[5]라고 마크된 페이지에 대해서, GBK 와 서브셋 부호화 GB 2312 의 점유율은 합계 7.7%(또는 글로벌에서는 0.2% 미만)입니다.

역사

1993년에는 중국 본토, 대만, 일본한국에서 사용되는 20,902자를 포함하여 유니코드 1.1 표준이 발표되었습니다.이에 따라 중국은 유니코드 1.1에 해당하는 궈비아오 규격인 GB 13000.1-93을 출시했다.

GBK 문자 세트는 1993년에 GB 2312-80확장자로 정의되었으며 GB 2312에서 사용할 수 있는 미사용 코드 포인트를 통해 GB 13000.1-93의 문자도 포함되었습니다.따라서 GBK는 GB 2312와의 하위 호환성이 있습니다.

Microsoft는 Windows 95Windows NT 3.51에서 GBK를 코드 페이지 936으로 구현했습니다.GBK가 공식적인 표준이 된 적은 없지만 Windows 95의 광범위한 사용으로 인해 GBK가 사실상의 표준이 되었습니다.GBK는 Unicode 1.1 및 GB 13000.1-93에 정의된 모든 한자를 포함하지만, 이러한 표준에서는 다른 코드 테이블을 사용했습니다.그 주된 이유는 단순히 GB 2312-80과 GB 13000.1-93의 차이를 메우기 위해서였습니다.

1995년 중국 국가정보기술표준화기술위원회는 중국 내부코드 확장규격(GBK)을 정했습니다.Hanzi Néim ku Kuzhzhǎn Guffahn(GBK), 버전 1.0, Codepage 936의 약간의 확장입니다.새로 추가된 95자는 GB 13000.1-1993에서는 발견되지 않았으며 Unicode PUA 코드 포인트가 [6]: 534 임시로 할당되었습니다.

이후 마이크로소프트는 코드 페이지 936에 유로 기호를 추가하고 여기에 코드 0x80을 할당했다.이것은 GBK 1.0의 유효한 코드 포인트가 아닙니다.

2000년에는 GB18030-2000 규격이 출시되어 GBK 1.0과의 호환성이 유지되고 있습니다.4바이트 문자 공간 구현을 통해 한자의 정의 수를 늘리고 가능한 문자 수를 확장했다.1바이트와 2바이트 문자로 구성된 GB 18030의 서브셋은 GBK라고도 합니다.다만, 유니코드에의 매핑은, 현재 일부의 문자가 유니코드에 정의되고 있기 때문에, 약간 변경되었습니다.최신 표준 형식인 GB 18030-2005에서는 24자만 Unicode PUA에[7] 매핑됩니다(GB 18030#PUA 참조).

2002년에 GBK는 IANA 문자 집합으로 등록되었습니다.등록에서는 코드 페이지936 매핑과 CP936/MS936 에일리어스를 사용하지만 GBK 1.0 [1]사양을 참조합니다.2015년에 발표된[8] W3C의 기술 권장 사항에서는 GBK 인코더를 싱글바이트 유로 부호가 있고 4바이트 시퀀스가 없는 GB 18030 인코더로 정의하고 있습니다(W3CGBK 디코더 사양에는 이러한 제한이 없습니다. 즉, GB 18030과 같이 모든 유니코드의 문자로 디코딩합니다).

부호화

문자는 1바이트 또는2바이트로 부호화됩니다.범위 내의 바이트007FASCII에서와 같은 것을 의미하는1 바이트입니다엄밀히 말하면, 이 범위에는 95 문자와 33 개의 제어 코드가 있습니다.

높은 비트 세트가 있는 바이트는 2바이트 중 첫 번째임을 나타냅니다.대략적으로 말하면 첫 번째 바이트는81FE(즉, 절대로)80또는FF두 번째 바이트는40A0제외하고7F일부 영역 및A1FE다른 사람들을 위해서.

구체적으로는 다음과 같은 바이트 범위가 정의되어 있습니다.

GBK 부호화 범위
범위 바이트 1 바이트 2 코드 포인트 성격.
GB 18030 GBK 1.0 코드 페이지 936 GB 2312
레벨 GBK/1 A1A9 A1FE 846 718[6]: 8–10 717 715 682
레벨 GBK/2 B0F7 A1FE 6,768 6,763 6,763 6,763
레벨 GBK/3 81A0 40FE제외하고7F 6,080 6,080 6,080
레벨 GBK/4 AAFE 40A0제외하고7F 8,160 8,160 8,080
레벨 GBK/5 A8A9 40A0제외하고7F 192 166 153
사용자 정의[6] 1 AAAF A1FE 564
사용자 정의 2 F8FE A1FE 658
사용자 정의 3 A1A7 40A0제외하고7F 672
합계: 23,940 21,887 21,886 21,791 7,445

배치도

그래픽 형식으로 다음 그림은 64K의 가능한 모든 2바이트 코드 공간을 보여 줍니다.녹색 및 노란색 영역에는 GBK 코드 포인트가 할당됩니다.빨간색은 사용자 정의 문자입니다.색칠되지 않은 영역은 잘못된 바이트 조합입니다.

GBK encoding.svg

다른 인코딩과의 관계

전 항에서 GBK/1 및 GBK/2 로서 표시되고 있는 영역은, 통상의 부호화에서는 GB2312-80 이며, GBK/1은 비한지 영역, GBK/2는 한지 영역입니다.GB 2312, 또는 그 EUC-CN 인코딩이 범위로부터1조의 바이트를 취득합니다.A1FE이는 GR에 로드된 모든 94² ISO-2022 문자 집합과 동일합니다.이는 위 그림의 오른쪽 하단 1/4에 해당합니다.단, GB 2312는 다음 행에 코드 포인트를 할당하지 않습니다.AAB0그리고.F8FE비록 그것이 그 영역을 잠복하고 있었음에도 불구하고.GBK가 이러한 행에 확장을 추가했습니다.2개의 갭이 사용자 정의 영역으로 채워진 것을 알 수 있습니다.

더 중요한 것은 GBK가 바이트 범위를 확장했다는 것입니다.ISO-2022 GR 범위에 2바이트 문자가 있으면 94²=8,836개의 가능성이 있습니다.그래픽 및 제어 문자를 위한 엄격한 영역의 ISO-2022 모델은 버리고, 낮은 바이트는 1바이트 문자이고 높은 바이트 쌍은 문자를 나타내는 기능은 그대로 유지하면 128²=16,384개의 위치를 가질 수 있습니다.GBK가 그 일부를 차지하여 범위를A1FE(바이트별로 94가지 선택 가능) ~81FE첫 번째 바이트와40FE(191개 선택)를 사용하여 두 번째 바이트에 대해 총 24,066개의 위치를 지정합니다.

Microsoft의 Code Page 936은 일반적으로 [1]GBK로 간주됩니다.단, GBK 1.0에 추가된95개의 PUA 문자는 Code Page 936에 포함되지 않습니다.또한 코드 페이지 936에는 GBK 1.0에는 [9]없는 0x80의 단일 바이트 유로 기호가 있습니다.

GBK의 후속 모델인 GB 18030-2000은 두 번째 바이트까지 사용 가능한 나머지 범위를 사용합니다.3039)는 GBK를 서브셋으로 유지하면서 가능성을 더욱 확대합니다.

레퍼런스

  1. ^ a b c "Character Sets". Retrieved 3 October 2016.
  2. ^ "Code Page 936 - PRC GBK (XGB)". Microsoft. Archived from the original on 2002-10-01. 코드 페이지 936과 유니코드 사이의 변환 맵.올바르게 표시하려면 브라우저에서 GB 18030 또는 GBK를 수동으로 선택해야 합니다.
  3. ^ "Distribution of Character Encodings among websites that use China and territories". w3techs.com. Retrieved 2022-03-30.
  4. ^ "Historical trends in the usage statistics of character encodings for websites, October 2021". w3techs.com. Retrieved 2021-03-30.
  5. ^ "Encoding: Summarized test results". www.w3.org. Retrieved 2019-11-15.
  6. ^ a b c Standardization Administration of China (SAC) (2005-11-18). GB 18030-2005: Information Technology—Chinese coded character set.
  7. ^ GB 18030-2005 표준 페이지 9, 79
  8. ^ "Encoding Standard # gbk-encoder". W3C. Retrieved 2016-10-02.
  9. ^ Scherer, Markus (4 January 2002). "Re: Fun with GBK & GB2312". Unicode Mail List Archive. Retrieved 4 March 2020.

메모들

외부 링크

  • ICU의 정규 GBK 매핑 - GB18030 데이터의 일부
  • GBK용 Microsoft 레퍼런스 페이지
  • GBK에서 Unicode N.B로의 매핑: Microsoft 코드 페이지936 입니다.이 페이지에는 21791 더블바이트 코드 포인트, 96개의 싱글바이트 그래픽 문자 및 33개의 컨트롤 문자가 포함되어 있습니다.이는 21886자의 GBK와 완전히 동일하지는 않습니다.
  • GBK 코드 테이블 N.B.이 gbk로 인코딩된 페이지에는 총 32256 글리프(암묵적인 싱글바이트 ASCII 코드가 표시되지 않음32352)에 대해 2개소를 제외하고 모두 채워진 사용 가능한 코딩 공간이 표시됩니다.이는 23940 또는 21886보다 큽니다.이 테이블의 실제 렌더링은 브라우저의 GBK 디코더에 따라 달라집니다.