#unicode Emoji 编码网络参考资料

unicode Emoji 编码网络参考资料

注:

  1. Emoji在Unicode编码中,占用了U+1F300到U+1F64F中的部分范围。(https://en.wikipedia.org/wiki/Emoji)
  2. utf16 编码(java android javascript)
从U+10000到U+10FFFF的码位 使用四个字节,high surrogate使用的是U+D800–U+DBFF,low surrogate使用的是U+DC00-U+DFFF
辅助平面(Supplementary Planes)中的码位,在UTF-16中被编码为一对16比特长的码元(即32bit,4Bytes),称作代理对(surrogate pair),具体方法是:
UTF-16解码
lead \ trail	DC00	DC01	   …   	DFFF
D800	10000	10001	…	103FF
D801	10400	10401	…	107FF
  ⋮	⋮	⋮	⋱	⋮
DBFF	10FC00	10FC01	…	10FFFF
码位减去0x10000,得到的值的范围为20比特长的0..0xFFFFF.
高位的10比特的值(值的范围为0..0x3FF)被加上0xD800得到第一个码元或称作高位代理(high surrogate),值的范围是0xD800..0xDBFF.由于高位代理比低位代理的值要小,所以为了避免混淆使用,Unicode标准现在称高位代理为前导代理(lead surrogates)。
低位的10比特的值(值的范围也是0..0x3FF)被加上0xDC00得到第二个码元或称作低位代理(low surrogate),现在值的范围是0xDC00..0xDFFF.由于低位代理比高位代理的值要大,所以为了避免混淆使用,Unicode标准现在称低位代理为后尾代理(trail surrogates)。
  1. utf8 4个字节

posted on 2017-02-21 15:42  ZhYQ_note  阅读(592)  评论(0)    收藏  举报

导航