Unicode与GBK互转
<<Unicode與GBK互轉>>
Tags: encoding,c
1. gb2312
規定: 一個小于127的字符的意義與原來相同, 但兩個大于127的字符連在一起時, 就表示
一個漢字, 前面的一個字節(他稱之為高字節)從0xA1用到 0xF7, 后面一個字節(低字節)
從0xA1到0xFE, 這樣我們就可以組合出大約7000多個簡體漢字了. 在這些編碼里, 我們還
把數學符號,羅馬希臘的 字母,日文的假名們都編進去了, 連在 ASCII 里本來就有的數字
,標點,字母都統統重新編了兩個字節長的編碼, 這就是常說的"全角"字符, 而原來在127
號以下的那些就叫"半角"字符了.
中國人民看到這樣很不錯, 于是就把這種漢字方案叫做 "GB2312". GB2312 是對 ASCII
的中文擴展.
2. GBK
但是中國的漢字太多了, 我們很快就就發現有許多人的人名沒有辦法在這里打出來, 特別
是某些很會麻煩別人的國家領導人. 于是我們不得不繼續把 GB2312 沒有用到的碼位找出
來老實不客氣地用上.
后來還是不夠用, 于是干脆不再要求低字節一定是127號之后的內碼, 只要第一個字節是
大于127就固定表示這是一個漢字的開始, 不管后面跟的是不是擴展字 符集里的內容. 結
果擴展之后的編碼方案被稱為 "GBK" 標準, GBK 包括了 GB2312 的所有內容, 同時又增
加了近20000個新的漢字(包括繁體字)和符號.
Note: Unicode相關的基礎知識請參數上一篇博文.
3. Unicode與GBK互轉
3.1 GBK --> Unicode
Unicode 與 GBK 是兩個完全不樣的字符編碼方案, 其兩者沒有直接關系, 要對其進行相
互轉換, 最直接最高效的方法是查表.
GBK與Uni
總結
以上是生活随笔為你收集整理的Unicode与GBK互转的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 系统集成项目管理工程师有什么用?
- 下一篇: 软件工程综合习题