unicode(統一碼、萬國碼、單一碼)是電腦科學領域裡的一項業界標準,包括字符集、編碼方案等。unicode 是為了解決傳統的字元編碼方案的侷限而產生的,它為每種語言中的每個字元設定了統一並且唯一的二進位制編碼,以滿足跨語言、跨平台進行文字轉換、處理的要求。
網際網路的普及,強烈要求出現一種統一的編碼方式。utf-8 就是在網際網路上使用最廣的一種 unicode 的實現方式。其他實現方式還包括 utf-16(字元用兩個位元組或四個位元組表示)和 utf-32(字元用四個位元組表示),不過在網際網路上基本不用。重複一遍,這裡的關係是,utf-8 是 unicode 的實現方式之一。
utf-8 最大的乙個特點,就是它是一種變長的編碼方式。它可以使用1~4個位元組表示乙個符號,根據不同的符號而變化位元組長度。
utf-8 的編碼規則很簡單,只有二條:
1)對於單位元組的符號,位元組的第一位設為0,後面7位為這個符號的 unicode 碼。因此對於英語字母,utf-8 編碼和 ascii 碼是相同的。
2)對於n位元組的符號(n > 1),第乙個位元組的前n位都設為1,第n + 1位設為0,後面位元組的前兩位一律設為10。剩下的沒有提及的二進位制位,全部為這個符號的 unicode 碼。
1 gb2312-80
gb 2312 或 gb 2312-80 是中國國家標準簡體中文字符集,全稱《資訊交換用漢字編碼字符集·基本集》,又稱 gb 0,由中國國家標準總局發布,1981 年 5 月 1 日實施。gb 2312 編碼通行於中國大陸;新加坡等地也採用此編碼。中國大陸幾乎所有的中文系統和國際化的軟體都支援 gb 2312。
gb 2312 標準共收錄 6763 個漢字,其中一級漢字 3755 個,二級漢字 3008 個;同時收錄了包括拉丁字母、希臘字母、日文平假名及片假名字母、俄語西里爾字母在內的 682 個字元。
gb 2312 對任意乙個圖形字元都採用兩個位元組表示,並對所收漢字進行了「分割槽」處理,每區含有 94 個漢字/符號,分別對應第一位元組和第二位元組。這種表示方式也稱為區位碼。
10-15 區及 88-94 區則未有編碼。
gb 2312 的編碼範圍為 2121h-777eh,與 ascii 有重疊,通行方法是將 gb 碼兩個位元組的最高位置 1 以示區別。
2 gbk
gbk即漢字內碼擴充套件規範,k為漢語拼音 kuo zhan(擴充套件)中「擴」字的聲母。英文全稱 chinese internal code specification。
gbk 共收入 21886 個漢字和圖形符號,包括:
gbk 向下與 gb 2312 完全相容,向上支援 iso 10646 國際標準,在前者向後者過渡過程中起到的承上啟下的作用。
gbk 採用雙位元組表示,總體編碼範圍為 8140-fefe 之間,首位元組在 81-fe 之間,尾位元組在 40-fe 之間,剔除 xx7f 一條線。gbk 編碼區分三部分:
gbk/2:oxboa1-f7fe, 收錄 gb 2312 漢字 6763 個,按原序排列;
gbk/3:ox8140-aofe,收錄 cjk 漢字 6080 個;
gbk/4:oxaa40-feao,收錄 cjk 漢字和增補的漢字 8160 個。
gbk/1:oxa1a1-a9fe,除 gb 2312 的符號外,還增補了其它符號
gbk/5:oxa840-a9ao,擴除非漢字區。
gbk 區域中的空白區,使用者可以自己定義字元。
3 gb18030
gb 18030,全稱:國家標準 gb 18030-2005《資訊科技中文編碼字符集》,是中華人民共和國現時最新的內碼字集,是 gb 18030-2000《資訊科技資訊交換用漢字編碼字符集基本集的擴充》的修訂版。
gb 18030 與 gb 2312-1980 和 gbk 相容,共收錄漢字70244個。
gb 18030 編碼是一二四位元組變長編碼。
1) tomcat配置uriencoding=utf-8
2)http請求亂碼問題
在servlet頁面新增:response.setcharcacterencoding("utf-8")
url進行uriencoding編碼
3) **轉碼
java學習第18天
1,介面就是乙個規範,裡面只有常量和抽象方法 2,介面可以看作是乙個完全抽象的抽象類,因為包含了抽象方法,所以不可以例項化,可以想抽象類被子類繼承然後重寫抽象方法一樣,介面可以被子類實現,並實現介面裡面的全部方法 3,介面還可以被介面繼承,子介面裡面就包含了父介面裡面的所有抽象方法和函式,當這個子介...
Java學習 編碼解碼
字串 位元組陣列 編碼 位元組陣列 字串 解碼 string str 湯姆 編碼 預設編碼格式是gbk byte buf str.getbytes for byte b buf 結果 52 64 60 73 string str 湯姆 指定編碼格式 為utf 8 byte buf str.getby...
7月18號java學習
多執行緒的學習 寫個執行緒新類,兩種形式 impent runnable extends thread 使用方式 runnable new thread runnable start 方便變數的共享 thread thread.start 執行緒的同步 同步快和同步方法 都是通過synchroniz...