WIKI使用導(dǎo)航
站長百科導(dǎo)航
站長專題
- 網(wǎng)站推廣
- 網(wǎng)站程序
- 網(wǎng)站賺錢
- 虛擬主機(jī)
- cPanel
- 網(wǎng)址導(dǎo)航專題
- 云計(jì)算
- 微博營銷
- 虛擬主機(jī)管理系統(tǒng)
- 開放平臺
- WIKI程序與應(yīng)用
- 美國十大主機(jī)
UTF-8
來自站長百科
(重定向自Utf-8)
UTF-8,是UNICODE的一種變長字符編碼,由Ken Thompson于1992年創(chuàng)建?,F(xiàn)在已經(jīng)標(biāo)準(zhǔn)化為RFC 3629。UTF-8用1到6個字節(jié)編碼 UNICODE字符。如果UNICODE字符由2個字節(jié)表示,則編碼成UTF-8很可能需要3個字節(jié),而如果UNICODE字符由4個字節(jié)表示,則編碼成 UTF-8可能需要6個字節(jié)。用4個或6個字節(jié)去編碼一個UNICODE字符可能太多了,但很少會遇到那樣的UNICODE字符。
UTF-8轉(zhuǎn)換表[ ]
UNICODE UTF-8 00000000 - 0000007F 0xxxxxxx 00000080 - 000007FF 110xxxxx 10xxxxxx 00000800 - 0000FFFF 1110xxxx 10xxxxxx 10xxxxxx 00010000 - 001FFFFF 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx 00200000 - 03FFFFFF 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 04000000 - 7FFFFFFF 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
實(shí)際表示ASCII字符的UNICODE字符,將會編碼成1個字節(jié),并且UTF-8表示與ASCII字符表示是一樣的。所有其他的UNCODE字符轉(zhuǎn)化成 UTF-8將需要至少2個字節(jié)。每個字節(jié)由一個換碼序列開始。第一個字節(jié)由唯一的換碼序列,由n位1加一位0組成。n位1表示字符編碼所需的字節(jié)數(shù)。
UTF-8的優(yōu)缺點(diǎn)[ ]
- UTF-8編碼的優(yōu)點(diǎn):
- UTF-8編碼可以通過屏蔽位和移位操作快速讀寫。
- 字符串比較時strcmp()和wcscmp()的返回結(jié)果相同,因此使排序變得更加容易。
- 字節(jié)FF和FE在UTF-8編碼中永遠(yuǎn)不會出現(xiàn),因此他們可以用來表明UTF-16或UTF-32文本(見BOM)
- UTF-8 是字節(jié)順序無關(guān)的。它的字節(jié)順序在所有系統(tǒng)中都是一樣的,因此它實(shí)際上并不需要BOM。
- UTF-8編碼的缺點(diǎn):
- 你無法從UNICODE字符數(shù)判斷出UTF-8文本的字節(jié)數(shù),因?yàn)閁TF-8是一種變長編碼
- 它需要用2個字節(jié)編碼那些用擴(kuò)展ASCII字符集只需1個字節(jié)的字符
- ISO Latin-1 是UNICODE的子集,但不是UTF-8的子集
- 8位字符的UTF-8編碼會被email網(wǎng)關(guān)過濾,因?yàn)?a href="/wiki/Internet" class="mw-redirect" title="Internet">internet信息最初設(shè)計(jì)為7為ASCII碼。因此產(chǎn)生了UTF-7編碼。
- UTF-8 在它的表示中使用值100xxxxx的幾率超過50%, 而現(xiàn)存的實(shí)現(xiàn)如ISO 2022, 4873, 6429, 和8859系統(tǒng),會把它錯認(rèn)為是C1 控制碼。因此產(chǎn)生了UTF-7.5編碼。