unicode是什么:是一個字符集:character set是各個國家各自開發不同的字符集編碼之后(比如中國最早是GB2312),國際標準化組織internationalStandardization organization(ISO)為了統一地球上所有的語言字符到一個字符集編碼中去。設計了UCS,可以理解為universal character set,再簡化一點可以當它是universal code,即unicode為了統一,并且表示很多的字符。規定所有都必須用兩個字節表示。8位的也需要擴展為16位。(所以對于英文符號來說,高8位永遠都是0)、這英文文本就不干了,這樣不就浪費了一倍的空間來保存文本嗎?16位需要兩個8位來存儲。這就衍生出了一個概念。“字符”一個字符是兩個字節。由上我們看出,unicode有兩個問題:1、空間浪費2、無法確定幾個字節表示一個字符。接下來先講一下unicode在互聯網出現后,由傳輸方式的不同衍生出的不同版本UTF。UTF(UCS Transfer Format)定義了一次傳輸幾位數據,UTF-8就是每次8個位傳輸,而UTF-16就是每次16個。UTF-8最大的一個特點,就是它是一種變長的編碼方式。它可以用1~4個字節來表示,通過某些規則我們可以看出每個字符用了多少個字節。具體的規則可以直接讀圖最后簡潔概括:Unicode is charset。UTF-8 is encoding。