什么是utf-8編碼?utf-8的編碼規(guī)則是什么?
8位Unicode轉(zhuǎn)換格式(UTF-8)是一種用于編碼各種字符的相對(duì)較新的代碼約定。它是字符標(biāo)識(shí)的標(biāo)準(zhǔn),也是各種編程語(yǔ)言和設(shè)備的參考,有助于標(biāo)準(zhǔn)化字母,數(shù)字和其他字符的顯示。
在許多情況下,UTF-8取代了一種名為美國(guó)信息交換標(biāo)準(zhǔn)碼(ASCII)的舊約定。ASCII處理英語(yǔ)語(yǔ)言文本所需的所有字符,但UTF-8為不使用英語(yǔ)或羅馬字母的其他語(yǔ)言處理更多不同的符號(hào)集。UTF-8被認(rèn)為是與ASCII向后兼容的。
UTF-8編碼規(guī)則:
如果只有一個(gè)字節(jié)則其最高二進(jìn)制位為0;如果是多字節(jié),其第一個(gè)字節(jié)從最高位開(kāi)始,連續(xù)的二進(jìn)制位值為1的個(gè)數(shù)決定了其編碼的字節(jié)數(shù),其余各字節(jié)均以10開(kāi)頭。
UTF-8編碼中的前綴碼起到了很好的區(qū)分和標(biāo)識(shí)的作用:
當(dāng)解碼程序讀取到一個(gè)字節(jié)的首位為0,表示這是一個(gè)單字節(jié)編碼的ASCII字符;
當(dāng)讀取到一個(gè)字節(jié)的首位為1,表示這是一個(gè)非ASCII字符的多字節(jié)編碼字符中的某個(gè)字節(jié)(可能是首字節(jié),也可能是后續(xù)字節(jié)),接下來(lái)若繼續(xù)讀取到一個(gè)1,則確定為首字節(jié),再繼續(xù)讀取直到遇見(jiàn)終結(jié)標(biāo)志0為止,讀取了幾個(gè)1,就表示該字符為幾個(gè)字節(jié)的編碼。
當(dāng)讀取到一個(gè)字節(jié)的首位為1,緊接著讀取到一個(gè)終結(jié)標(biāo)志0,則該字節(jié)顯然是非ASCII字符的后續(xù)字節(jié)(即非首字節(jié))。
以上就是有關(guān)utf-8編碼是什么意思,utf-8編碼的規(guī)則介紹。