日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

一次讲清UNICODE

發(fā)布時間:2025/3/21 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 一次讲清UNICODE 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

文章目錄

    • UNICODE
    • UTF-16
    • UTF-8
    • 舉例
    • 課后補充
    • BOM(Byte Order Mark)

UNICODE

什么是UNICODE?
這是一個編碼方案,說白了就是一張包含全世界所有文字的一個編碼表,只要這個世界上存在的文字符號,統(tǒng)統(tǒng)給你一個唯一的編碼:
Unicode編碼范圍:0~0x10FFFF,可以容納100多萬個符號

UNICODE的問題:
UNICODE只是一個符號集,它只規(guī)定了符號的二進制代碼,卻沒有規(guī)定這個二進制代碼應該如何存儲

UTF-16

UTF-16編碼以16位無符號整數(shù)為單位,注意是16位為一個單位不表示一個字符只有16位
。這個要看字符的UNICODE編碼處于什么范圍而定,有可能是2個字節(jié),有可能是4個字節(jié),現(xiàn)在機器上的unicode編碼一般指的就是UTF-16

注意:兩個字節(jié)為1個存儲單位。在UTF-16中字符只有2個字節(jié)或者4個字節(jié)(超過2個字節(jié)就變4個字節(jié))

UTF-8

UTF-8:(網(wǎng)絡傳輸節(jié)省流量)
Unicode編碼(16進制) UTF-8字節(jié)流(二進制)
000000-00007F ------> 0xxxxxxx
000080-0007FF ------> 110xxxxx 10xxxxxx
000800-00FFFF ------> 1110xxxx 10xxxxxx 10xxxxxx
010000-10FFFF ------> 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx

舉例

中國的中字,UTF-16---->4E2D

在UTF-8里面:(中國的中字)

E4 B8 AD 1110 0100 1011 1000 1010 1101

因為4E2D對應第三個區(qū)間(十六進制),所以往下劃分:
000800-00FFFF ------> 1110xxxx 10xxxxxx 10xxxxxx

把前綴都統(tǒng)統(tǒng)去掉后:
1110 (0100)10(11 1000) 10(10 1101)

所以UTF-8有效數(shù)據(jù)為:
0010 1110 0010 1101

即十六進制 4E2D

課后補充

也就是經(jīng)常看到的前綴(開頭)會出現(xiàn)這種字符FE FF FF FE

(很少見到:)EF BB BF


如何判斷文本文件的存儲格式?(UTF-16的時候會區(qū)分大小端存儲,也就是L或者B)

BOM(Byte Order Mark)

UTF-8 ------> EF BB BF UTF-16LE ------> FF FE UTF-16BE ------> FE FF

總結

以上是生活随笔為你收集整理的一次讲清UNICODE的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。