Unicode 字符编码模型 - 0x01_简介

butterflyfly00 2019-09-08

GitHub@orca-j35,所有笔记均托管于 python_notes 仓库
欢迎任何形式的转载,但请务必注明出处。

我会写 5 篇文章来介绍 Unicode 字符编码模型(CHARACTER ENCODING MODEL)
本文会简要介绍一下模型的层次结构,并逐一列出相关的参考的资料

Unicode 字符编码模型分为四个层级(level),概况如下:

  • ACR: Abstract Character Repertoire 抽象字符库

    要编码(encoded)的字符集,比如:某些字母或符号集

  • CCS: Coded Character Set 编码字符集

    从抽象字符库到到一组非负整数的映射

  • CEF: Character Encoding Form 字符编码模式

    从一组非负整数到一组特定代码单元序列的映射,其中的非负整数应是 CCS 中元素,代码单元也应拥有指定宽度,如 32-bit 整数。

  • CES: Character Encoding Scheme 字符编码方案

    从代码单元序列到 8-bits 字节序列的可逆转换。如果允许的话,会包含字节顺序标记(byte order mark - BOM)。

将编码模型分为四个层级的目的是:创建一组可以通过各种编码模式编码的通用字符集,也就是说,同一字符集可以对应多种编码方式。

除了以上四个层级外,另外还有两个有用的概念:

  • CM: Character Map 字符映射

    这一概念将上述四个层级打包到一个操作中,包含从"抽象字符库成员序列"到字节序列的全部过程。

  • TES: Transfer Encoding Syntax 传输编码语法

    应用于文本和其它编码数据的可逆转换,数据需要经过转换后才允许被传输,例如 Base64 和 uuencode。

参考

有关"字符编码模型"的笔记参考了如下内容:

字符属性

想要获取关于字符属性的信息,可阅读如下内容:

扩展阅读

书籍和网站

欢迎关注公众号: import hello

Unicode 字符编码模型 - 0x01_简介

相关推荐