介紹下編碼基礎知識
1 gb2312-80
gb 2312 或 gb 2312-80 是中國國家標準簡體中文字符集,全稱《資訊交換用漢字編碼字符集·基本集》,又稱gb0,由中國國家標準總局發布,2023年5月1日實施。gb2312編碼通行於中國大陸;新加坡等地也採用此編碼。中國大陸幾乎所有的中文系統和國際化的軟體都支援gb 2312。
gb 2312標準共收錄6763個漢字,其中一級漢字3755個,二級漢字3008個;同時收錄了包括拉丁字母、希臘字母、日文平假名及片假名字母、俄語西里爾字母在內的682個字元。
gb2312對任意乙個圖形字元都採用兩個位元組表示
,並對所收漢字進行了「分割槽」處理,每區含有94個漢字/符號,分別對應第一位元組和第二位元組。這種表示方式也稱為區位碼。
10-15區及88-94區則未有編碼。
gb2312的編碼範圍為2121h-777eh,與ascii有重疊,通行方法是將gb碼兩個位元組的最高位置1以示區別。
特徵:
雙位元組,定長
包括一二級漢字和9區符號
高位低位一樣,都是從0xa1~0xfe
漢字編碼範圍是0xb0a1~0xf7fe
2 gbk
gbk即漢字內碼擴充套件規範,k為漢語拼音 kuo zhan(擴充套件)中「擴」字的聲母。英文全稱chinese internal code specification。
gbk共收入21886個漢字和圖形符號,包括:
gbk向下與gb2312 完全相容,向上支援iso 10646國際標準,在前者向後者過渡過程中起到的承上啟下的作用。
gbk 採用雙位元組表示,總體編碼範圍為8140-fefe之間,首位元組在81-fe之間,尾位元組在40-fe之間,剔除xx7f一條線。gbk編碼區分三部分:
gbk/2:oxboa1-f7fe, 收錄gb2312漢字6763個,按原序排列;
gbk/3:ox8140-aofe,收錄cjk漢字6080個;
gbk/4:oxaa40-feao,收錄cjk漢字和增補的漢字8160個。
gbk/1:oxa1a1-a9fe,除gb2312的符號外,還增補了其它符號
gbk/5:oxa840-a9ao,擴除非漢字區。
gbk區域中的空白區,使用者可以自己定義字元。
特徵:
雙位元組,定長
相容gb2312
編碼範圍:0x8140~0xfefe
所有字元都可以對映到unicode2.0
3 gb18030 - 2000
gb 18030,全稱:國家標準gb 18030-2005《資訊科技中文編碼字符集》,是中華人民共和國現時最新的內碼字集,是gb 18030-2000《資訊科技資訊交換用漢字編碼字符集基本集的擴充》的修訂版。
gb 18030與gb 2312-1980完全相容,與gbk基本相容,支援gb 13000及unicode的全部統一漢字,共收錄漢字70244個。
gb18030 編碼是一二四位元組變長編碼。
特徵:
不定長,包含二位元組部分和四位元組部分
二位元組部分相容gbk
四位元組部分是擴充字元,第一第三位元組範圍:0x81~0xfe,第二第四位元組範圍:0x30~0x39
4 unicode
包括所有字元字型
各地區語言都可與之建立對映
異種語言的轉換是通過unicode來完成的
漢字從4e00開始
綜上所述gb2312編碼字元最少,這樣會引一些問題,很常見的就是亂碼問題。
舉例:"珅、堃" 這兩個字在gb2312編碼裡是沒有的。這樣在使用gb2312編碼的頁面裡就會出問題了,可能你在頁面中輸入是正確的但傳輸到了伺服器端就會亂碼,而且他可能會影響下面的字也出現亂碼(位元組碼組合問題)。
思考些管理的事情
思考些管理的事情 想起兩個管理的故事,都是華為的。乙個是,有位經理級人物,一早招集組員非常利落地溝通布置了當天的工作,回頭問旁邊觀摩的公司高層給評價,高層說,這是村里生產隊長式的管理 另乙個是最近看的,任總表揚乙個下屬 你的進步很大呀,從非常差勁成長為比較差勁 都有些詼諧笑話,能讓任總和華為高層觀摩...
也談Vista的解除安裝現象
照理說,使用者買了一台預裝 vista 的電腦之後,應該非常高興才對。但是,事實上,並不如此。我有一位朋友,前不久購買了一台 hp v3431au 膝上型電腦,其中預裝了 vista 作業系統,開始很新奇。我也試了一把。不料,才過了乙個來星期時間,他卻把它 格了 徹底解除安裝 我大為吃驚。這 指 v...
也談mysql的limit優化
測試環境 作業系統 debian linux 伺服器版本 mysql 5.0.24 mysql資料庫的qcache快取關閉 資料庫表testtable的引數 型別 myisam 大小 80mb 記錄規模 50000 字段數 25個字段 id是主鍵 leibie欄位上建有索引 進行資料分段測試 1 s...