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

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。

参考

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

  • Character encoding - Wikipedia
  • UNICODE CHARACTER ENCODING MODEL - Unicode 报告
  • Glossary of Unicode Terms - Unicode 官方术语表
  • 分享一下我所了解的字符编码知识
  • 理解字符编码
  • Character set encoding basics
  • 刨根究底字符编码之一——关键术语解释(上)
  • 编码字符集与字符集编码的区别
  • Unicode 及编码方式概述
  • UTF-8, UTF-16, UTF-32 & BOM - 官方常见问题
  • UTF-16 From Wikipedia
  • Unicode From Wikipedia
  • Byte order mark From Wikipedia
  • Code point From Wikipedia

字符属性

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

  • 5 Properties - UNICODE CHARACTER DATABASE,主要关注以下部分

    • Table 7. Property Index by Scope of Use
    • Table 12. General_Category Values
  • 4.2. Categories - Programming with Unicode
  • General Category from Wikipedia
  • Unicode Character Categories
  • https://www.compart.com/en/un... - 介绍 Unicode 知识的网站
  • UnicodeData.txt 解释了 UincodeData.txt 中各个字段的含义
  • https://unicode-table.com/cn/...

扩展阅读

  • 【字符编码】彻底理解字符编码
  • 多文化支持的代码集
  • 谈谈Unicode编码,简要解释UCS、UTF、BMP、BOM等名词
  • "The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets"
  • 6.5. unicodedata — Unicode Database
  • Python Unicode Howto
  • Pragmatic Unicode talk by Nat Batchelder

书籍和网站

  • Programming with Unicode- 介绍 Unicode 的书
  • https://www.compart.com/en/un... - 介绍 Unicode 知识的网站 ⭐
  • http://www.fileformat.info/in... - 介绍 Unicode 知识的网站

欢迎关注公众号: import hello

你可能感兴趣的:(encoding,字符编码,unicode)