UTF-16究竟是怎么編碼的
1.
首先要注意的是,代理Surrogate是專屬于UTF-16編碼方式的一種機制,UTF-8和UTF-32是不用代理的。
如前文所述,為了讓UTF-16能繼續(xù)編碼基本平面后面的增補平面中的碼點值,于是擴展了UTF-16編碼方式。
具體的擴展方法就是為其增加了代理機制,用兩個對應(yīng)于基本平面碼點(即BMP代理區(qū)中的碼點)的16位碼元來表示一個增補平面碼點,這兩個用來表示一個增補平面碼點的特殊16位碼元就被稱為“代理對”。
如果要用簡單的一句話來概括,就是——所有大于0xFFFF的碼點值(即增補平面碼點編號,范圍為0x10000~0x10FFFF,十進制為65536~1114111;注意,0xFFFF是十六位二進制數(shù)的最大值的十六進制表示)要編碼成UTF-16編碼方式的話,就必須使用代理機制(也就是用代理對來表示)。
2.
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍牙鎖 2017-07-26
- 消息隊列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二) 2017-07-26