首頁  >  文章  >  web前端  >  utf8和unicode編碼究竟是什麼關係?有何差別?_基礎教程

utf8和unicode編碼究竟是什麼關係?有何差別?_基礎教程

WBOY
WBOY原創
2016-05-16 12:09:422081瀏覽

UTF8 == Unicode Transformation Format -- 8 bit 
是Unicode傳送格式。即把Unicode檔案轉換成BYTE的傳送流。

UTF8流的轉換程序: 
Input: unsigned integer c - the code point of the character to be entem)(Out輸入一個為uniuni the character to be encodefb; the encoded sequence of bytes (輸出四個BYTE值) 
Algorithm(算法): 
if (cb1 = c>>0 & 0x7F | 0x00  b2 = null 
b3 = null 
b4 = null 
else if (cb1 = c>>6 & 0x1F x80  b3 = null 
b4 = null 
else if (cb1 = c>>12 & 0x0F | 0 
b3 = c >>0 & 0x3F | 0x80  b4 = null 
else if (cb1 = c>>18 & 0x3F | 0x80 
b3 = c>>6 & 0x3F | 0x80 
b4 = c>>0 & 0x3F | 0x80 ===========end & 0x3F | 0x80 ==================== ====  unicode 是一種編碼表格,例如,給一個漢字規定一個代碼。類似 GB2312-1980, GB18030等,只不過字集不同。
===================== 
一個unicode碼可能轉成長度為一個BYTE,或兩個,三個,四個BYTE的UTF8碼,取決於unicode碼的值。英文unicode碼因為值小於0x80,只要用一個BYTE的UTF8傳送,比送unicode兩個BYTEs快。 
UTF8是傳送unicode而想出來的「再編碼」方法罷了。 
UTF8轉unicode用我上面給的程式反算即可。

UTF8是現有ASCII系統轉向Unicode系統的過渡解決方案。 UTF8是保證 ASCII相容性,再向大字元集方向擴展。這是Unicode推薦的方案。但是因 為解決問題的角度不同,對現有的中文系統不是好的解決方案。一次連接提供了詳細的 UTF8編碼的初步知識 http://www.acnis.com/modules.php?name=ArticlE&file=article&sid=102 參考資料:
http://www.acnis.com/modules. php?name=ArticlE&file=article&sid=102


什麼是Unicode。 Unicode的基本目標是統一所有的編碼,也就是它包含所有的字元集。這樣只要一個系統支援Unicode,那麼,就能處理這些字元集。一般Unicode有兩個位元組。現在的windows作業系統都是支援Unicode的。 

什麼是UTF8呢? UTF8是一種Unicode編碼,即它的編碼的字元集和Unicode是一致的。但編碼的方式不一樣。對於英文字符來講,UTF8的編碼和一般的一樣,用到一個位元組。但對於中文來講,那麼要用三個位元組表示(記憶中是三個)。  UTF8和Unicode的缺點是在處理查找、搜尋等問題時,好像演算法比較複雜,效率不高(記憶中)。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn