關於字元編碼的理解

2022-09-04 04:30:10 字數 637 閱讀 9442

關於字符集的問題一直是模稜兩可的,自己想下部落格也想對字符集做一下自己的理解

gbk

gbk是我們中國人自己的編碼,因為acsii不相容中文,所以中國人就自己就研究了一套字符集來來支援中文,gbk是相容ascii的也就是說,英文和數字在gbk是佔乙個位元組的,中文佔兩個位元組

ascii

acsii是最早計算機的編碼格式,ascii是不支援中文的,所有的佔乙個位元組

unicode

由於各國出現了不同的編碼格式,所以就出現了乙個統一的字元編碼,支援所有的字元。統一占用為2個位元組

utf-8

那有人問如果unicode支援所有的編碼,為什麼不用unicode呢?,那麼問題來了,ascii中的程式是佔乙個位元組,但是使用unicode的方式儲存的話,就是原來的兩倍。所以utf-8就誕生了,為了解決檔案儲存和傳輸的問題,在utf-8中,英文還是佔乙個位元組,中文佔3個位元組(相對於gbk增加乙個位元組的長度)

字元編碼的轉換

程式會以某種編碼的格式讀取,轉化為unicode的編碼,儲存的時候再以某種編碼的格式進行編碼,然後儲存到檔案中,或者進行傳輸

關於字元編碼

美國人首先對其英文本元進行了編碼,也就是最早的ascii碼,用乙個位元組的低7位來表示英文的128個字元,高1位統一為0 後來歐洲人發現尼瑪你這128位哪夠用,比如我高貴的法國人字母上面的還有注音符,這個怎麼區分,得,把高1位編進來吧,這樣歐洲普遍使用乙個全位元組進行編碼,最多可表示256位。歐美人...

關於字元編碼

我們知道在學習php和jsp的時候,出現亂碼是經常性的事情,怎樣來一勞永逸的解決這個問題,我來做個總結。首先來了解一下字符集,我們關心的字符集大概有這麼幾個,iso 8859 1 gb2312 gbk utf 8,其中iso 8859 1是採用1個位元組進行編碼,而gb2312和gbk則是在其基礎之...

字元編碼的初步理解

string byte bytes,charset charset 通過使用指定的 charset 解碼指定的 byte 陣列,構造乙個新的string。getbytes charset charset 使用給定的 charset 將此string編碼到 byte 序列,並將結果儲存到新的 byte...