butterflyfly00 2019-09-08
GitHub@orca-j35,所有笔记均托管于 python_notes 仓库
欢迎任何形式的转载,但请务必注明出处。我会写 5 篇文章来介绍 Unicode 字符编码模型(CHARACTER ENCODING MODEL)
本文会简要介绍一下模型的层次结构,并逐一列出相关的参考的资料
Unicode 字符编码模型分为四个层级(level),概况如下:
要编码(encoded)的字符集,比如:某些字母或符号集
从抽象字符库到到一组非负整数的映射
从一组非负整数到一组特定代码单元序列的映射,其中的非负整数应是 CCS 中元素,代码单元也应拥有指定宽度,如 32-bit 整数。
从代码单元序列到 8-bits 字节序列的可逆转换。如果允许的话,会包含字节顺序标记(byte order mark - BOM)。
将编码模型分为四个层级的目的是:创建一组可以通过各种编码模式编码的通用字符集,也就是说,同一字符集可以对应多种编码方式。
除了以上四个层级外,另外还有两个有用的概念:
这一概念将上述四个层级打包到一个操作中,包含从"抽象字符库成员序列"到字节序列的全部过程。
应用于文本和其它编码数据的可逆转换,数据需要经过转换后才允许被传输,例如 Base64 和 uuencode。
有关"字符编码模型"的笔记参考了如下内容:
想要获取关于字符属性的信息,可阅读如下内容:
5 Properties - UNICODE CHARACTER DATABASE,主要关注以下部分
unicodedata
— Unicode Database