상위 질문
타임라인
채팅
관점

GBK (문자 인코딩)

위키백과, 무료 백과사전

GBK (문자 인코딩)
Remove ads

GBK(Guójiā Biāozhǔn Kuòzhǎn)는 중화인민공화국에서 사용되는 간체자GB 2312 문자 집합의 확장이다. 여기에는 GB 13000.1-93, 즉 ISO/IEC 10646:1993 또는 유니코드 1.1에 있는 모든 통합 한중일 통합 한자가 포함된다. 1993년 초기 출시 이후, GBK는 마이크로소프트에 의해 코드 페이지 936/1386으로 확장되었고, 이는 다시 GBK 1.0으로 확장되었다. GBK는 또한 마이크로소프트 매핑의 IANA 등록 인터넷 이름이기도 하다.[1] 이는 주로 0x80의 단일 바이트 유로 기호에서 다른 구현과 다르다.

간략 정보 MIME / IANA, 다른 이름 ...

GB는 중국어로 국가 표준을 의미하는 궈뱌오(Guójiā Biāozhǔn)를 줄인 말이며, K는 확장(扩展 kuòzhǎn)을 의미한다. GBK는 구 표준인 GB 2312를 번체자로 확장했을 뿐만 아니라, 1981년 GB 2312가 제정된 이후 간략화된 한자도 포함했다. GBK의 등장으로 전 중국 총리 주룽지의 이름에 있는 镕 (róng) 글자처럼 이전에는 표현할 수 없었던 특정 이름이 이제 표현 가능하게 되었다.[2]

2022년 10월 기준, GBK는 중국 및 관련 지역에서 사용되는 인코딩 중 세 번째로 인기 있는 인코딩이며(UTF-8 및 하위 집합 GB 2312 다음), 웹 서버의 1.9%가 GBK를 선언하는 페이지를 제공한다.[3] 그러나 모든 주요 웹 브라우저는 Safari와 Edge에서 GB_2312 레이블을 제외하고 GB2312로 표시된 문서를 GBK로 표시된 것처럼 디코딩한다.[4] 함께, GBK와 GB 2312 인코딩은 중국 및 관련 지역에서 총 5.5%의 점유율을 차지한다.[3] 전 세계적으로 GBK는 전체 웹 페이지의 0.07% 미만이며 GBK+GB2312는 0.2%를 차지한다.[5]

Remove ads

역사

요약
관점

1993년, 유니코드 1.1 표준이 발표되었으며, 중국 대륙, 중화민국, 일본, 한국에서 사용되는 20,902개 문자가 포함되었다. 이어서 중국은 유니코드 1.1에 해당하는 궈뱌오 표준GB 13000.1-93을 발표했다.

GBK 문자 집합은 1993년에 GB 2312-80의 확장으로 정의되었으며, GB 2312에서 사용되지 않는 코드 포인트를 통해 GB 13000.1-93의 문자도 포함했다. 따라서 GBK는 GB 2312와 하위 호환된다. GBK는 GB 13000.1-93의 규범적 부록으로 정의되었다.[6]

마이크로소프트윈도우 95윈도우 NT 3.51에서 GBK를 코드 페이지 936으로 구현했다. GBK는 공식 표준은 아니었지만, 윈도우 95의 광범위한 사용으로 GBK는 사실상의 표준이 되었다. GBK는 유니코드 1.1과 GB 13000.1-93에 정의된 모든 한자를 포함했지만, 이 표준들은 다른 코드 테이블을 사용했다. 그 존재의 주된 이유는 단순히 GB 2312-80과 GB 13000.1-93 사이의 간극을 메우기 위함이었다.

1995년, 중국 국가 정보 기술 표준화 기술 위원회는 코드 페이지 936의 약간 확장된 버전인 중국 내부 코드 확장 사양(중국어 간체자: 汉字内码扩展规范 (GBK), 병음: Hànzì Nèimǎ Kuòzhǎn Guīfàn (GBK)) 버전 1.0을 제정했는데, 이를 GBK 1.0으로 알려져 있다. 새로 추가된 95개의 문자는 GB 13000.1-1993에는 없었으며, 잠정적으로 유니코드 사설 사용 영역(PUA) 코드 포인트에 할당되었다.[7]:534

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

2000년에 GB 18030-2000 표준이 발표되었으며, GBK 1.0을 대체하면서도 호환성을 유지했다. 이 표준은 한자의 정의 수를 늘리고 4바이트 문자 공간의 구현을 통해 가능한 문자 수를 확장했다. GB 18030의 1바이트 및 2바이트 문자로 구성된 하위 집합은 때때로 GBK라고도 불린다. 그러나 일부 문자가 이제 유니코드에 정의되어 있으므로 유니코드와의 매핑은 약간 변경되었다. 최신 표준인 GB 18030-2005에서는 24개[8] 문자만이 여전히 유니코드 PUA에 매핑되어 있다(GB 18030#PUA 참조).

2002년, GBK는 IANA 문자 집합으로 등록되었다. 이 등록은 코드 페이지 936 매핑과 CP936/MS936 별칭을 사용하지만, GBK 1.0 사양을 참조한다.[1] 2015년에 발표된 W3C의 기술 권고[9]GBK 인코더를 단일 바이트 유로 기호가 있고 4바이트 시퀀스가 없는 GB 18030 인코더로 정의한다(W3C의 GBK 디코더 사양은 이러한 제한이 없으며, GB 18030, 즉 유니코드 전체와 동일한 문자 범위를 디코딩한다).

Remove ads

인코딩

문자는 1 또는 2바이트로 인코딩된다. 007F 범위의 바이트는 ASCII에서와 동일한 의미를 갖는 단일 바이트이다. 엄밀히 말하면, 이 범위에는 95개의 문자와 33개의 제어 문자가 있다.

상위 비트가 설정된 바이트는 2바이트 중 첫 번째 바이트임을 나타낸다. 느슨하게 말하면, 첫 번째 바이트는 81FE 범위(즉, 80 또는 FF는 아님)에 있으며, 두 번째 바이트는 일부 영역의 경우 7F를 제외한 40A0이고 다른 영역의 경우 A1FE이다.

더 구체적으로, 다음 바이트 범위가 정의된다.

자세한 정보 범위, 1바이트 ...

레이아웃 다이어그램

그래픽 형태로, 다음 그림은 가능한 모든 64K 2바이트 코드의 공간을 보여준다. 녹색 및 노란색 영역은 GBK 코드 포인트에 할당되며, 빨간색은 사용자 정의 문자용이다. 색상이 없는 영역은 유효하지 않은 바이트 조합이다.

Thumb

Remove ads

다른 인코딩과의 관계

이전 섹션에서 GBK/1 및 GBK/2로 표시된 영역은 그 자체로 일반적인 인코딩인 GB 2312-80이며, GBK/1은 한자 이외의 영역이고 GBK/2는 한자 영역이다. GB 2312, 또는 더 정확하게는 EUC-CN 인코딩은 GR에 로드된 모든 94² ISO-2022 문자 집합처럼 A1FE 범위에서 두 바이트를 취한다. 이는 위 그림의 오른쪽 아래 사분면에 해당한다. 그러나 GB 2312는 AAB0F8FE에 위치한 행에 어떤 코드 포인트도 할당하지 않았지만, 그 영역을 확보해 두었다. GBK는 이 행에 확장을 추가했다. 두 개의 간극이 사용자 정의 영역으로 채워진 것을 볼 수 있다.

더 중요한 것은 GBK가 바이트 범위를 확장했다는 점이다. ISO-2022 GR 범위에 2바이트 문자가 있으면 94²=8,836가지 가능성으로 제한된다. 그래픽 및 제어 문자에 대한 엄격한 영역의 ISO-2022 모델을 포기하면서도 낮은 바이트가 1바이트 문자이고 높은 바이트 쌍이 문자를 나타내는 기능을 유지하면 잠재적으로 128²=16,384개의 위치를 가질 수 있다. GBK는 그 중 일부를 차지하여 첫 번째 바이트의 범위를 A1FE(각 바이트에 94가지 선택)에서 81FE(126가지 선택)로, 두 번째 바이트는 40FE(191가지 선택)로 확장하여 총 24,066개의 위치를 제공한다.

마이크로소프트의 코드 페이지 936은 일반적으로 GBK로 간주된다.[1] 그러나 GBK 1.0에 추가된 95개의 PUA 문자는 코드 페이지 936에 포함되지 않는다. 코드 페이지 936에는 GBK 1.0에는 없는 0x80의 단일 바이트 유로 기호도 있다.[10]

GBK의 후속인 GB 18030-2000은 두 번째 바이트에 사용할 수 있는 나머지 범위(3039)를 사용하여 GBK를 하위 집합으로 유지하면서 가능한 문자 수를 더욱 확장한다.

각주

내용주

외부 링크

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads