求真百科歡迎當事人提供第一手真實資料,洗刷冤屈,終結網路霸凌。

「信息交换用汉字编码字符集」修訂間的差異檢視原始碼討論檢視歷史

事實揭露 揭密真相
前往: 導覽搜尋
(创建页面,内容为“{| class="https://cn.bing.com/images/search?view=detailV2&ccid=HrnfPS2i&id=D89896F08A92F421F0DDAE14CC86BBC1750EC823&thid=OIP.HrnfPS2iF1l8AMFVw7DNmQHaFj&mediaurl=http…”)
 
(added Category:312 電腦科學 using HotCat
 
行 125: 行 125:
 
==参考文献==
 
==参考文献==
 
{{Reflist}}
 
{{Reflist}}
 +
 +
[[Category:312 電腦科學]]

於 2024年6月15日 (六) 17:28 的最新修訂

信息交換用漢字編碼字符集
圖片來自優酷

信息交換用漢字編碼字符集

信息交換用漢字編碼字符集》是由中國國家標準總局1980年發布,1981年5月1日開始實施的一套國家標準,標準號是GB/T 2312-1980。根據2017年第7號公告和強制性標準整合精簡結論,自2017年3月23日起,該標準轉化為推薦性標準,不再強制執行。 [1]

GB2312編碼適用於漢字處理、漢字通信等系統之間的信息交換,通行於中國大陸;新加坡等地也採用此編碼。中國大陸幾乎所有的中文系統和國際化的軟件都支持GB 2312。

基本集共收入漢字6763個和非漢字圖形字符682個。整個字符集分成94個區,每區有94個位。每個區位上只有一個字符,因此可用所在的區和位來對漢字進行編碼,稱為區位碼

把換算成十六進制的區位碼加上2020H,就得到國標碼。國標碼加上8080H,就得到常用的計算機機內碼。1995年又頒布了《漢字編碼擴展規範》(GBK)。GBK與GB/T 2312-1980國家標準所對應的內碼標準兼容,同時在字彙一級支持ISO/IEC10646—1和GB 13000—1的全部中、日、韓(CJK)漢字,共計20902字。

簡介

信息交換用漢字編碼字符集和漢字輸入編碼之間的關係是,根據不同的漢字輸入方法,通過必要的設備向計算機輸入漢字的編碼,計算機接收之後,先轉換成信息交換用漢字編碼字符,這時計算機就可以識別並進行處理;漢字輸出是先把機內碼轉成漢字編碼,再發送到輸出設備

國家標準《信息交換用漢字編碼字符集·基本集》已於1981年5月發布實施。《基本集》規定了漢字信息交換用的基本圖形字符及其二進制編碼,收漢字6763個。它適用於一般漢字處理、漢字通信等系統之間的信息交換。隨着我國漢字信息處理技術的發展,計算機的應用範圍不斷擴大,使用漢字字數較多的部門迫切需要在《基本集》的基礎上繼續制定信息交換用漢字編碼字符集各輔助集的國家標準。 [2]

收錄

GB 2312標準共收錄6763個漢字,其中一級漢字3755個,二級漢字3008個;同時,GB 2312收錄了包括拉丁字母希臘字母、日文平假名及片假名字母、俄語西里爾字母在內的682個全角字符

GB 2312的出現,基本滿足了漢字的計算機處理需要,它所收錄的漢字已經覆蓋中國大陸99.75%的使用頻率。

對於人名、古漢語等方面出現的罕用字,GB 2312不能處理,這導致了後來GBK及GB 18030漢字字符集的出現。

分區表示

GB 2312中對所收漢字進行了「分區」處理,每區含有94個漢字/符號。這種表示方式也稱為區位碼。

01-09區為特殊符號。

16-55區為一級漢字,按拼音排序。

56-87區為二級漢字,按部首/筆畫排序。

10-15區及88-94區則未有編碼。

舉例來說,「啊」字是GB2312之中的第一個漢字,它的區位碼就是1601。

字節結構

在使用GB2312的程序中,通常採用EUC儲存方法,以便兼容於ASCII。瀏覽器編碼表上的「GB2312」,通常都是指「EUC-CN」表示法。

每個漢字及符號以兩個字節來表示。第一個字節稱為「高位字節」(也稱「區字節)」,第二個字節稱為「低位字節」(也稱「位字節」)。

「高位字節」使用了0xA1-0xF7(把01-87區的區號加上0xA0),「低位字節」使用了0xA1-0xFE(把01-94加上 0xA0)。 由於一級漢字從16區起始,漢字區的「高位字節」的範圍是0xB0-0xF7,「低位字節」的範圍是0xA1-0xFE,占用的碼位是 72*94=6768。其中有5個空位是D7FA-D7FE。

例如「啊」字在大多數程序中,會以兩個字節,0xB0(第一個字節) 0xA1(第二個字節)儲存。區位碼=區字節+位字節(與區位碼對比:0xB0=0xA0+16,0xA1=0xA0+1)。

兩種不同實現

有兩種不同的GB2312實現,在它們之間存在少量的差別,其中至少有一個是錯誤的。

字節序

A1A4

A1AA

實現A

U+00B7 MIDDLE DOT

U+2014 EM DASH

實現B

U+30FB KATAKANA MIDDLE DOT

U+2015 HORIZONTAL BAR

實現A與GBK/GB18030兼容,實現B則不兼容。

在2015年, 微軟.Net Framework在使用實現A。 iconv-1.14, php-5.6,ActivePerl-5.20, Java 1.7, Python 3.4在使用實現B。

編碼表

GB2312簡體中文編碼表

code +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F

A1A0   、 。 · ˉ ˇ ¨ 〃 々 — ~ ‖ … 『 』

A1B0 「 」 〔 〕 〈 〉 《 》 「 」 『 』 〖 〗 【 】

A1C0 ± × ÷ ∶ ∧ ∨ ∑ ∏ ∪ ∩ ∈ ∷ √ ⊥ ∥ ∠

A1D0 ⌒ ⊙ ∫ ∮ ≡ ≌ ≈ ∽ ∝ ≠ ≮ ≯ ≤ ≥ ∞ ∵

A1E0 ∴ ♂ ♀ ° ′ ″ ℃ $ ¤ ¢ £ ‰ § № ☆ ★

A1F0 ○ ● ◎ ◇ ◆ □ ■ △ ▲ ※ → ← ↑ ↓ 〓

code +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F

A2A0 Ⅰ Ⅱ Ⅲ Ⅳ Ⅴ Ⅵ Ⅶ Ⅷ Ⅸ Ⅹ ? ? ? ? ?

A2B0 ? ⒈ ⒉ ⒊ ⒋ ⒌ ⒍ ⒎ ⒏ ⒐ ⒑ ⒒ ⒓ ⒔ ⒕ ⒖

A2C0 ⒗ ⒘ ⒙ ⒚ ⒛ ⑴ ⑵ ⑶ ⑷ ⑸ ⑹ ⑺ ⑻ ⑼ ⑽ ⑾

A2D0 ⑿ ⒀ ⒁ ⒂ ⒃ ⒄ ⒅ ⒆ ⒇ ① ② ③ ④ ⑤ ⑥ ⑦

A2E0 ⑧ ⑨ ⑩ ? ? 一 二 三 四 五 六 七 八 九 十 ?

A2F0 ? Ⅰ Ⅱ Ⅲ Ⅳ Ⅴ Ⅵ Ⅶ Ⅷ Ⅸ Ⅹ Ⅺ Ⅻ ? ?

code +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F

A3A0 ! " # ¥ % & ' ( ) * + , - . /

A3C0 @ A B C D E F G H I J K L M N O

A3D0 P Q R S T U V W X Y Z [ \ ] ^ _

A3E0 ` a b c d e f g h i j k l m n o

A3F0 p q r s t u v w x y z { | }

……

視頻

1.4.3信息編碼之漢字編碼

[1]

參考文獻