幾種常見的編碼格式

2021-07-31 12:49:58 字數 1183 閱讀 2692

計算機中儲存資訊的最小單元是乙個位元組,即8個bit,所以能表示的字元範圍是0~255個

人類要表示的符號太多,無法用乙個位元組來完全表示

要解決這個矛盾必須要有乙個新的資料結構char,從char到byte必須編碼。目前常用的編碼方式有ascii、iso8859-1、gb2312、gbk、utf-8、utf-16等

共有128個,用乙個位元組的低7位表示

在ascii碼的基礎上涵蓋了大多數西歐語言字元,仍然是單位元組編碼,它總共能表示256個字元

全稱為《資訊交換用漢字編碼字符集基本集》,它是雙位元組編碼,總的編碼範圍是a1~f7

全稱《漢字內碼擴充套件規範》,擴充套件了gb2312,加入更多的漢字,它的編碼範圍是8140~fefe(去掉xx7f),與gb2312相容

《數字交換用漢字編碼字符集》,它可能是單位元組、雙位元組或者四位元組編碼,與gb2312編碼相容

具體定義了unicode字元在計算機中的訪問方法。採用2位元組來表示unicode轉化格式,它是定長的表示方法,不論什麼字元都可以用兩個位元組表示

utf-8採用一種變長技術,每個編碼區域有不同的字碼長度,不同的字元可以由1~6個位元組組成。

編碼規則如下:

如110***xx代表它是雙位元組utf-8字元的首字母

如下:在乙個檔案中通過utf-8編碼,輸入「中國」儲存後,通過如下**讀取

file f = new file("f:/study/test/test.txt");

try

} catch (filenotfoundexception e) catch (ioexception e)

輸出 如下結果:

11100100

10111000

10101101

11100101

10011011

10111101

從中可以看出,這兩個漢字均占用三個位元組儲存

string a = "中國";

charset charset = charset.forname("utf-8");

bytebuffer bytebuffer = charset.encode(a);

while(bytebuffer.hasremaining())

如上所示,為byte獲取其在記憶體中儲存的二進位制形式的方法。

常見編碼格式

中文編碼主要有以下四種 gb2312簡體中文編碼,乙個漢字占用2個位元組,在大陸是主要的編碼方式。當文章 網頁中包含正體中文 日文 韓文等時,這些內容可能無法被正確編碼。big5正體中文編碼,主要在台灣地區使用。gbk支援簡體及正體中文,但對他國非拉丁字母語言還是有問題。utf 8 unicode編...

常見編碼格式

中文編碼主要有以下四種 gb2312 簡體中文編碼,乙個漢字占用2位元組,在大陸是主要編碼方式。當文章 網頁中包含正體中文 日文 韓文等等時,這些內容可能無法被正確編碼。big5 正體中文編碼。主要在台灣地區採用。gbk 支援簡體及正體中文,但對他國非拉丁字母語言還是有問題。utf 8 unicod...

常見編碼格式(中文編碼)

中文編碼主要有以下四種 gb2312簡體中文編碼,乙個漢字占用2個位元組,在大陸是主要的編碼方式。當文章 網頁中包含正體中文 日文 韓文等時,這些內容可能無法被正確編碼。big5正體中文編碼,主要在台灣地區使用。gbk支援簡體及正體中文,但對他國非拉丁字母語言還是有問題。utf 8 unicode編...