① 區位碼國標碼機內碼的轉換
1、區位碼
將漢字用區號01~94和位號01~94來表示漢字的編碼,是一個4位十進制數,前兩位表示區號,後兩位表示位號,每一行稱為一個「區」,編號為01-94,每一列稱為一個「位」,編號為01-94,這種用來表示每個字元所處位置的圖稱為「區點陣圖」。
用字元所在區點陣圖中的位置來表示字元的代碼稱為「區位碼」。比如「啊」的區位碼為1601。
2、國標碼
對這些編號進行編碼的結果就得到「國家標准代碼」,簡稱為「國標碼」,也稱「漢字交換碼」
國標碼由兩個位元組組成,其高位元組和低位元組的最高位都為0,與7位標准ASCII碼類似。
編碼方法是現將十進製表示的區碼和位碼轉換為十六進製表示的區碼和位碼,再講這個代碼的高位元組(第一個位元組)和低位元組(第二個位元組)分別加上20H(100000B),就得到國標碼。每個位元組加20H的原因是為了避開ASCII碼表的32個控制字元。
如「啊」的區位碼為1601,計算「啊」的國標碼,首先將「啊」的區碼和位碼分別加32,得區碼16+32=48=30H,位碼01+32=33=21H,所以「啊」的國標碼為3021H。
3、機內碼
為了解決ASCII碼和國標碼在同事使用時產生二義性,講國標碼的高位元組和低位元組的最高位b7都變成1,或者說每個位元組都加上0x80,這樣得到的代碼被稱為機內碼,常被簡寫成「內碼」。
已知「啊」的國標碼為3021H,得知二進制編碼:(0011000)(00100001),將每個位元組最高位分別置1,得(10110000)(10100001)為二進制機內碼,轉換成十六進制為B0A1H(機內碼)。
機內碼=國標碼+8080H
(1)國際碼與內碼怎麼轉換擴展閱讀:
漢語拼音推廣應用,並逐步過渡到漢字和漢語拼音文字並存並用,這是一種雙軌制。漢字信息處理領域中,音碼和形碼的並存並用,同樣是一種雙軌制。因此,不少人認為,採用雙軌制好,理由有以下5點:
對掌握普通話的人來說,使用音碼比形碼方便,速度比較快。形碼雖然較慢,但能輸入任何漢字(包括古字)。採用雙軌,操作員認識的字可按音輸入,不認識的字按形輸入,會普通話的人可按音輸入,方音重的人可按形輸入。
對於用字量少的單位,按音輸入無問題,但對用字量多的單位來說,按音輸入就不如按形輸入,因為一般人只能念出一部分漢字。
按形輸入(尤其是整體輸入)對於中文信息處理的某類工作,如統計漢字,非常適合;但是對於其他類工作,例如統計漢語的音(聲韻調)則無能為力。按音輸入則正相反。雙軌正好是相輔相成。
有的形碼可以照顧多種漢字(如日本的漢字、南朝鮮的漢字),而音碼能分詞連寫,便於作進一步的信息處理。
適當的雙軌方案,不會增加設備上的麻煩。如不考慮採用整字輸入,一般均可使用現有的小鍵盤。
② 漢字國標碼和機內碼怎麼轉換
若某漢字的國標碼是5031H,則該漢字的機內碼是(
D0B1H
)。漢字的機內碼採用變形國標碼,其變換方法為:將國標碼的每個位元組都加上128,即將兩個位元組的最高位由0改1,其餘7位不變。
若某漢字的國標碼是5031H,則該漢字的機內碼=國標碼+128(十進制)=5031H(十六進制)+128(十進制)=5031H(十六進制)+8080H(十六進制)=D0B1H (十六進制)。
(2)國際碼與內碼怎麼轉換擴展閱讀:
漢字國標碼和區位碼的轉換:
國標碼並不等於區位碼,它是由區位碼稍作轉換得到,其轉換方法為:先將十進制區碼和位碼轉換為十六進制的區碼和位碼,這樣就得了一個與國標碼有一個相對位置差的代碼。
再將這個代碼的第一個位元組和第二個位元組分別加上20H,就得到國標碼。如:「保」字的國標碼為3123H,它是經過下面的轉換得到的:1703D->1103H->+20H->3123H。
參考資料來源:搜狗網路-漢字國標碼
③ 機內碼和國標碼如何轉換
區位碼、國標碼與機內碼的轉換關系
(1)區位碼先轉換成十六進制數表示
(2)(區位碼的十六進製表示)+2020H=國標碼;
(3)國標碼+8080H=機內碼
舉例:以漢字「大」為例,「大」字的區內碼為2083
解:1、區號為20,位號為83
2、將區位號2083轉換為十六進製表示為1453H
3、1453H+2020H=3473H,得到國標碼3473H
4、3473H+8080H=B4F3H,得到機內碼為B4F3H小結:字元編碼的兩種表示方式:ASCII(字元的表示);GB2312(國標碼,漢字編碼)
④ 怎樣把區位碼轉為國標碼和機內碼
區位碼是10進制的,而國標碼和機內碼是16進制的,先要把區位碼轉化成16進制。
然後把得到的數加2020是國標碼 再加上8080是機內碼
以江為例
1.區位碼(十進制)轉換成區位碼(十六進制)。
這里要把前兩個位換成十六進制,然後後兩位換成十六進制。
江的區位碼是2913,這樣把29轉換為16進制數1D;再把位碼13轉換為16進制數為0D,得到十六進制數1D0D。
2.國際碼=區位碼(十六進制)+2020H
江的國際碼是 1D0DH+2020H=3D2DH 得到國標碼GB2312
3.漢字機內碼=國際碼+8080H
江的機內碼就是3D2DH+8080H=BDADH
29+160=189,化成十六進制是BD,
13+160=173,化成十六進制是AD,
43+160=203,化成十六進制是CB,
53+160=213,化成十六進制是D5,
所以,江的機內碼是BDAD,蘇的機內碼是CBD5
⑤ 計算機中區位碼.內碼.國際碼怎麼轉換
區位碼、國標碼與機內碼的轉換關系
方法:
(1)區位碼先轉換成十六進制數表示
(2)(區位碼的十六進製表示)+2020H=國標碼;
(3)國標碼+8080H=機內碼
舉例:以漢字「大」為例,「大」字的區內碼為2083
解:1、區號為20,位號為83
2、將區位號2083轉換為十六進製表示為1453H
3、1453H+2020H=3473H,得到國標碼3473H
4、3473H+8080H=B4F3H,得到機內碼為B4F3H
三、小結:
字元編碼的兩種表示方式:ASCII(字元的表示);GB2312(國標碼,漢字編碼)區位碼、國標碼與機內碼的轉換關系
方法:
(1)區位碼先轉換成十六進制數表示
(2)(區位碼的十六進製表示)+2020H=國標碼;
(3)國標碼+8080H=機內碼
舉例:以漢字「大」為例,「大」字的區內碼為2083
解:1、區號為20,位號為83
2、將區位號2083轉換為十六進製表示為1453H
3、1453H+2020H=3473H,得到國標碼3473H
4、3473H+8080H=B4F3H,得到機內碼為B4F3H
三、小結:
字元編碼的兩種表示方式:ASCII(字元的表示);GB2312(國標碼,漢字編碼)
⑥ 機內碼與國際碼之間的換算關系
機內碼與國際碼之間的換算關系:
國際碼=區位碼(十六進制)+2020H
機內碼=國際碼+8080H
機內碼、國際碼是十六進制的,但是區位碼是十進制的。一般換算全部用十六進制,值得特別注意:區位碼從十進制轉換為十六進制是兩位兩位分別轉換的。
漢字的機內碼採用變形國標碼,其變換方法為:將國標碼的每個位元組都加上128,即將兩個位元組的最高位由0改1,其餘7位不變。
如:「保」字的國標碼為3123H,前位元組為00110001B,後位元組為00100011B,高位改1為10110001B和10100011B 即為B1A3H,因此,保字的機內碼就是B1A3H。
(6)國際碼與內碼怎麼轉換擴展閱讀:
國標碼(「國標」是中華人民共和國國家標準的簡稱)在中國大陸使用。GB2312收錄6763個漢字,GBK收錄20912個漢字,最新的GB18030收錄27533個漢字。BIG5碼。收錄13053個漢字。在台灣和香港使用的一位元組或兩位元組編碼。
Unicode並不被中國政府很好的接受。中國政府要求在中國大陸出售的軟體必須支持GB18030編碼。在國際通信化和軟體設計領域,CJK編碼收集了漢語、日語、韓語中的漢字集。
國標碼並不等於區位碼,它是由區位碼稍作轉換得到,其轉換方法為:先將十進制區碼和位碼轉換為十六進制的區碼和位碼,;這樣就得了一個與國標碼有一個相對位置差的代碼,再將這個代碼的第一個位元組和第二個位元組分別加上20H,就得到國標碼。
⑦ 區位碼,國標碼和機內碼之間是如何轉化的
區位碼與國標碼轉換步驟如下:
1、區碼與位碼分別轉換成十六進制數表示;
2、區位碼的十六進製表示+2020H=國標碼。
以具字為例,具字的區位碼為:3063
1、將30轉換成16進製表示為:1E,63轉換成16進製表示為:3F,區位碼十六進制數表示為:1E3FH
2、1E3FH+2020H=3E5FH
所以具字的國標碼為:3E5FH
區位碼的使用方法:
在DOS下的各漢字系統中,同時按Alt鍵和F1鍵即可調用區位碼輸入方法。而在Windows中常用Ctrl+空格鍵和Ctrl+Shift鍵調出區位碼。如「2901」代表「健」字,「4582」代表「萬」字,「8150」代表「楮」字,這些都是漢字。
用區位碼還可以輸入特殊符號,比如,「0189」代表「※」(符號),「0528」代表「ゼ」(日本語),「0711」代表「Й」(俄文),「0949」代表「┭」(製表符)。
⑧ 機內碼、國際碼、區位碼之間如何換算
機內碼、國際碼是十六進制的,區位碼是十進制的.
一般換算全部用十六進制,不過特別注意:區位碼從十進制轉換為十六進制是兩位兩位分別轉換的.
國際碼=區位碼(十六進制)+2020H
機內碼=國際碼+8080H
如:某漢字的區位碼是2534.則25D=19H,34D=22H
國際碼=1922H+2020H=3952H
機內碼=3952H+8080H=B9D2H
⑨ 機內碼與國際碼之間的換算關系
漢字機內碼、國標碼和區位碼三者之間的關系為:區位碼(十進制)的兩個位元組分別轉換為十六進制後加20H得到對應的國標碼;機內碼是漢字交換碼(國標碼)兩個位元組的最高位分別加1,即漢字交換碼(國標碼)的兩個位元組分別加80H得到對應的機內碼;區位碼(十進制)的兩個位元組分別轉換為十六進制後加A0H得到對應的機內碼。
⑩ 區域碼,國際碼,機內碼 這三個怎麼轉換啊我搞不懂他們!
漢字系統中的過程包括區位碼、國標碼和機內碼,
其中的轉換關系如下:專 1.區位碼(十進制)轉換屬成區位碼(十六進制)。 這里要把前兩個位換成十六進制,然後後兩位換成十六進制。 例如,某漢字的區位碼是5448,這樣把54轉換為16進制數36;再把位碼48轉換為16進制數為30,得到十六進制數3630。 2.國際碼=區位碼(十六進制)+2020H 例如,3630H+2020H=5050H 得到國標碼GB2312 3.漢字機內碼=國際碼+8080H 機內碼就是5050H+8080H=D0D0H ASCII碼是八位的一個位元組 最高位為0,這樣可以區分和漢字編碼的區別。 Unicode是歐洲提出來的編碼。 如果大段的數據包中的位元組是大於A0A0H的雙位元組信息,可以初步認定為漢字內容編碼。
說明一下,漢字你在數據包中只能獲得機內碼。區位碼是輸入碼,不在計算機當中的,呵呵