一次講清UNICODE

2021-10-19 05:33:59 字數 1783 閱讀 6341

什麼是unicode?

這是乙個編碼方案,說白了就是一張包含全世界所有文字的乙個編碼表,只要這個世界上存在的文字元號,統統給你乙個唯一的編碼:

unicode編碼範圍:0~0x10ffff,可以容納100多萬個符號

unicode的問題:

unicode只是乙個符號集,它只規定了符號的二進位制**,卻沒有規定這個二進位制**應該如何儲存

utf-16編碼以16位無符號整數為單位,注意是16位為乙個單位不表示乙個字元只有16位

。這個要看字元的unicode編碼處於什麼範圍而定,有可能是2個位元組,有可能是4個位元組,現在機器上的unicode編碼一般指的就是utf-16

注意:兩個位元組為1個儲存單位。在utf-16中字元只有2個位元組或者4個位元組(超過2個位元組就變4個位元組)

utf-8:(網路傳輸節省流量)

unicode編碼(16進製制) utf-8位元組流(二進位制)

000000-00007f ------> 0******x

000080-0007ff ------> 110***xx 10******

000800-00ffff ------> 1110***x 10****** 10******

010000-10ffff ------> 11110*** 10****** 10****** 10******

中國的中字,utf-16---->4e2d

在utf-8裡面:(中國的中字)

因為4e2d對應第三個區間(十六進製制),所以往下劃分:

000800-00ffff ------> 1110***x 10****** 10******

把字首都統統去掉後:

1110 (0100)10(11 1000) 10(10 1101)

所以utf-8有效資料為:

0010 1110 0010 1101

即十六進製制 4e2d

也就是經常看到的字首(開頭)會出現這種字元fe ffff fe

(很少見到:)ef bb bf

如何判斷文字檔案的儲存格式?(utf-16的時候會區分大小端儲存,也就是l或者b)

utf-8--

----

> ef bb bf

utf-

16le --

----

> ff fe

utf-

16be --

----

> fe ff

unicode轉utf 8一次記錄

文字如下 u4e2d u592e u5e7f u64ad u7535 u89c6 u5927 u5b66 uff0c u4e2d u56fd u653f u6cd5 u5927 u5b66 需要轉成utf 8,嘗試了好多編碼和轉碼一起使用,最後終於解決,直接上 c u4e2d u592e u5e7f...

只有一次 只有一次

二十多歲的年紀我累了很久,也在努力的尋找機會向陽而生。十三歲時迫於生活父母把剛上初一的我獨自留在老家,被父母伺候慣的我沒有一點生活常識,不懂得如何把衣服洗淨,不懂得如何生火做飯,不懂得如何花錢,不懂得如何戰勝黑暗和孤獨,每次乙個人回家時都會出現幻聽和幻覺,看著家裡好像有炊煙,聽誰都像媽媽的聲音.好不...

只有一次 生命,只有一次

生命,每個人只有一次,或長或短 生活,每個人都在繼續,或悲或歡 人生,每個人都在旅途,或起或伏。人無完人,事無完美,有些小人,你不須計較,計較會煩 有些繁事,你不必在意,在意會累。活著就是勝利,掙錢只是遊戲,健康才是目的,快樂更是真諦!百年之後,你睡你的,我睡我的,再美麗的語言也無法跟你溝通,因為我...