Unicode 了解

简介

Unicode(世界统一码)是由世界统一码联盟制定的一套字符编码,其中包含了世界绝大部分的语言文字,还包含了表情文字。在Unicode 2.0之后(最新Unicode 11.0),Unicode编码与UCS(Universal Coded Character Set)基本保持一致。Uincode 版本列表,点击查看

Unicode 编码提供了一组基本单元编码,为每个基本单元分配一个唯一的编码点(Code Point)。一个文本元素是有一个或多个基本单元组成。例如法语中的Ç 可以看做是由 C 和¸ 组合成的。

名词解释

  • Basic Multilingual Plane (BMP) 基础多语言层面
  • Supplementary Multilingual Plane (SMP) 多语言补充层皮
  • Supplementary Ideographic Plane (SIP) 表意文字补充平面
  • Supplementary Special-purpose Plane (SSP) 特别用途补充平面
  • Private Use Area-A Plane (PUA-A) 私人使用区-A平面
  • Private Use Area-B Plane (PUA-B) 私人使用区-B平面
  • CJK 中国、日本、韩国 三个国加的简称
  • CJKV 中国、日本、韩国、越南 四个国加的简称
  • RTL right-to-left 从右到左
  • BE big-endian 大端序列, 高位在前(低地址),低在后(高地址)
  • LE little-endian 小端序列, 一个单元在计算机中的存放时按照低位在前(低地址),高位在后(高地址)的模式存放。

分配情况

整体

BMP 分配情况

图片截自UnicodeStandard-11.0.pdf

基础层面中D800-DFFF 区间为代理区间,区间内的代码点不表示任何字符。一个UTF-16编码只能表示BMP中的字符,无法表示BMP外的其他层面。通过代理区我们可以使用两个UTF-16编码来表示BMP外层面的一个字符。

SMP 分配情况

图片截自UnicodeStandard-11.0.pdf

编码的实现方式

计算机处理信息的最小单元为字节,而一个字节无法表示Unicode中的所有字符。为了表示所有的字符,就需要一种实现方式将Unicode中的字符编码转换为计算机可以处理的字节序列。

Unicode编码的实现方式有:

  • UTF-8
  • UTF-16
  • UTF-32
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×