作用:表語英語及西歐語言。
位數:ascii是用7位表示的,能表示128個字元;其擴充套件使用8位表示,表示256個字元。
範圍:ascii從00到7f,擴充套件從00到ff。
作用:擴充套件ascii,表示西歐、希臘語等。
位數:8位, 範圍:從00到ff,相容ascii字符集。
作用:國家簡體中文字符集,相容ascii。
位數:使用2個位元組表示,能表示7445個符號,包括6763個漢字,幾乎覆蓋所有高頻率漢字。
範圍:高位元組從a1到f7, 低位元組從a1到fe。將高位元組和低位元組分別加上0xa0即可得到編碼。
作用:它是gb2312的擴充套件,加入對繁體字的支援,相容gb2312。
位數:使用2個位元組表示,可表示21886個字元。
範圍:高位元組從81到fe,低位元組從40到fe。
作用:為世界650種語言進行統一編碼,相容iso-8859-1。
位數:unicode字符集有多個編碼方式,分別是utf-8,utf-16和utf-32。
作用:統一繁體字編碼。
位數:使用2個位元組表示,表示13053個漢字。
範圍:高位元組從a1到f9,低位元組從40到7e,a1到fe。
作用:它解決了中文、日文、朝鮮語等的編碼,相容gbk。
位數:它採用變位元組表示(1 ascii,2,4位元組)。可表示27484個文字。
範圍:1位元組從00到7f; 2位元組高位元組從81到fe,低位元組從40到7e和80到fe;4位元組第一三位元組從81到fe,第二四位元組從30到39。
作用:國際標準 iso 10646 定義了通用字符集 (universal character set)。它是與unicode同類的組織,ucs-2和unicode相容。
位數:它有ucs-2和ucs-4兩種格式,分別是2位元組和4位元組。
範圍:目前,ucs-4只是在ucs-2前面加了0x0000。
按所表示的文字分類
語言字符集
正式名稱
英語、西歐語ascii
iso-8859-1
mbcs 多位元組
簡體中文
gb2312
mbcs 多位元組
正體中文
big5
mbcs 多位元組
簡繁中文
gbkmbcs 多位元組
中文、日文及朝鮮語
gb18030
mbcs 多位元組
各國語言
unicode,ucs
dbcs 寬位元組
要求:要知道當前內容的編碼格式和要轉換為的編碼格式:
示例:
string username = request.
getparameter
("username").
trim()
; string password = request.
getparameter
("password").
trim()
;
獲取到的string型別變數:username和password的編碼格式為:iso-8859-1
如何將他們轉換成utf-8編碼,不要出現亂碼,**如下:
string parameter = request.
getparameter
("username");
//獲取到引數對應的二進位制數
byte
temp = parameter.
getbytes
("iso-8859-1");
//通過對應的二進位制數 手動編碼成utf-8的字串
string param =
newstring
(temp,
"utf-8"
);
原理:出現的亂碼形式的含義:相同的內容在計算機中的二進位制編碼是一樣的,所以在不同編碼間內容傳遞時,要想不出現亂碼,先將該內容按其原編碼轉換為二進位制序列。然後再將這個二進位制序列按照要轉換的編碼進行翻譯,就不會出現亂碼。
?????? ---> 代表字元編碼不匹配造成
师龙 ---> 代表沒有該編碼方式
英文本母和中文漢字在不同字符集編碼下的位元組數:
英文本母:
位元組數 : 1;編碼:gb2312
位元組數 : 1;編碼:gbk
位元組數 : 1;編碼:gb18030
位元組數 : 1;編碼:iso-8859-1
位元組數 : 1;編碼:utf-8
位元組數 : 4;編碼:utf-16
位元組數 : 2;編碼:utf-16be
位元組數 : 2;編碼:utf-16le
中文漢字:
位元組數 : 2;編碼:gb2312
位元組數 : 2;編碼:gbk
位元組數 : 2;編碼:gb18030
位元組數 : 1;編碼:iso-8859-1
位元組數 : 3;編碼:utf-8
位元組數 : 4;編碼:utf-16
位元組數 : 2;編碼:utf-16be
位元組數 : 2;編碼:utf-16le
先從字元編碼講起。
Mark Ajax引數中文編碼亂碼問題
link ajax不支援多種字符集,其預設的字符集是utf 8,所以在應用ajax技術的程式中應及時進行編碼轉換,否則對於程式中出現的中文字元將變成亂碼。一般在以下兩種情況下將產生亂碼。1.傳送路徑的引數中包括中文,在伺服器端接收引數值時產生亂碼 將資料提交到伺服器有兩種方法 一種是使用get方法提...
php 轉換中文亂碼,php中文編碼轉換問題
php中文編碼轉換的方法 1 使用iconv函式,為 string iconv string in string out string str 2 使用 mb convert encoding 函式。php中文編碼轉換的方法 一 iconvstring iconv string in charset...
python實戰之編碼問題 中文!永遠的痛
編碼的思維圖譜 也就是說檔案沒有編碼之說,事實上都是按二進位制格式儲存在硬碟中的。不過在寫入讀取時須使用相應的編碼進行處理,以便作業系統配合相關軟體 字型,繪製到螢幕中給人看。所以關鍵問題是得知道原先這些字串資料是使用什麼編碼來編譯的!可是在 unicode之前都是使用類似對比表的形式來組織編碼的,...