UTF-8究竟是怎么編碼的

 

1.

UTF-8編碼是Unicode字符集的一種編碼方式(CEF),其特點(diǎn)是使用變長字節(jié)數(shù)(即變長碼元序列、變寬碼元序列)來編碼。一般是1到4個(gè)字節(jié),當(dāng)然,也可以更長。

為什么要變長呢?這可以理解為按需分配,比如一個(gè)字節(jié)足以容納所有的ASCII字符,那何必補(bǔ)一堆0用更多的字節(jié)來存儲呢?

實(shí)際上變長編碼有其優(yōu)勢也有其劣勢,優(yōu)勢是節(jié)省空間、自動糾錯(cuò)性能好、利于傳輸、擴(kuò)展性強(qiáng),劣勢是不利于程序內(nèi)部處理,比如正則表達(dá)式檢索;而UTF-32這樣等長碼元序列(即等寬碼元序列)的編碼方式就比較適合程序處理,當(dāng)然,缺點(diǎn)是比較耗費(fèi)存儲空間。

 

2.

那UTF-8究竟是怎么編碼的呢?也就是說其編碼算法是什么?

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式