解读 Unicode

平面 - plane

共 17 个平面,每个平面占 65536 个字符
基本多文种平面 - Basic Multilingual Plane(0x0~0xFFFF)
其余16种补充/辅助平面(0x10000 ~ 0x10FFFF)

编码空间

0x0~ 0x10FFFF

存储定义

UCS - Universal Character Set

ISO/IEC 10646 定义

  • UCS-2
    编码空间为 0x0 ~ 0xFFFF
    无辅助平面
    兼容 Unicode,保留 0xD800 ~ 0xDFFF
  • UCS-4
    旧定义
    编码空间为 0x0 ~ 0x7FFFFFFF
    新定义
    编码空间限制为 Unicode (0x0~ 0x10FFFF)
    ISO 承诺不会为超过 0x10FFFF 进行编码

UTF - Unicode Transformation Format

UTF-8

变长编码(1~4字节)
编码空间为 0x0 ~ 0x10FFFF

  • 对于单字节的符号
    字节第一位设为 0
    后面7位填充编码值
    对于 0x0~0x7F, UTF-8 和 ASCII 码是一致的

  • 对于 n 字节的符号(n>1)
    第一个字节的前 n 位 都是1
    第 n + 1 位设置为 0
    后面字节的前两位为 10
    其余空位填充为编码值

  • 旧的定义
    定义1~6字节
    RFC 2044
    RFC 2279

  • 新的定义 RFC 3629
    定义为1~4字节

    编码范围 字符数 Unicode UTF-8
    0x000000 ~ 0x00007F 128 00000000 00000000 0zzzzzzz 0zzzzzzz(00-7F)
    0x000080 ~ 0x0007FF 1920 00000000 00000yyy yyzzzzzz 110yyyyy(C0-DF)10zzzzzz(80-BF)
    0x000800 ~ 0x00D7FF
    0x00E000 ~ 0x00FFFF
    61440 00000000 xxxxyyyy yyzzzzzz 1110xxxx(E0-EF)10yyyyyy(80-BF)10zzzzzz(80-BF)
    0x010000 ~ 0x10FFFF 1048576 000wwwxx xxxxyyyy yyzzzzzz 11110www(F0-F7)10xxxxxx(80-BF)10yyyyyy(80-BF)10zzzzzz(80-BF)

UTF-16

变长编码(2或4字节)
编码空间为 0x0 ~ 0x10FFFF

  • 与 UCS-2 区别
    UTF-16 是 UCS-2 父集
    当表示 BMP 时, 与 USC-2 编码一致都是16-bit
    当表示辅助平面时,UTF-16为 32-bit,而UCS-2不能表示
  • 辅助平面表示
    码位值 - 0x10000 得到 20-bit 的值(0x0 ~ 0xFFFFF)
    该值前10位 + 0xD800(0xD800 ~ 0xDBFF)
    该值后10位 + 0xDC00(0xDC00 ~ 0xDFFF )
    连接以上两个值得到最终编码值

UTF-32

固定 32-bit 编码,与 Unicode 编码数值一致
编码空间为 0x0 ~ 0x10FFFF

  • 与 UCS-4 区别
    旧定义: UTF-32是 UCS-4 的一个子集
    新定义: 可以认为与 UCS-4 是相同
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 人生是一场修行 给我们磨砺 让我们变得坚强 给我们离别 让我们感知聚的喜悦 给我们苦 让我们知道什么是甜 经历失去...
    燕zi阅读 271评论 1 9
  • 【作者】傅佳 【导师】王玉印老师 【分舵】画茧成蝶舵 【导图解说】 四大文明古国介绍。
    全脑高级培训师傅佳阅读 251评论 0 2
  • 不屑一抹芳华, 退却花火虽美过, 繁盛却惨得衰败。 聊聊蚁躯, 芸芸众生, 画一痕即天涯, 记一恨便一生。
    洛钧寒阅读 177评论 0 2
  • 刑 在沙漠找到赴刑方式 和频繁阉割一样 交易在每个角落盛行 换座精致城堡 换个美丽娃娃 观察我还有什...
    手卷梦阅读 461评论 0 3
  • 也许我应该反思一下。 昨天日更文写了《忙,我想偷个懒》,1800多字,一气呵成。最初是想告诉自己如何减压,巧偷懒,...
    马渡娃阅读 200评论 0 0