什么是 Unicode?

Unicode 是一种通用字符编码标准,为世界上每种书写系统的每个字符分配一个唯一的数字(码点)。它旨在表示人类交流中使用的所有字符,包括字母、符号和表情符号。

快速了解

全称Unicode 标准
创建时间1991 年(Unicode 1.0)
规范文档官方规范

Unicode 工作原理

Unicode 从 1987 年开始开发,旨在解决不兼容字符编码系统的问题。在 Unicode 之前,不同系统使用不同的编码(ASCII、ISO-8859、GB2312 等),导致文本在不同平台上显示不正确。Unicode 为每个字符分配一个唯一的码点,写作 U+XXXX(例如,'A' 是 U+0041)。该标准包括超过 15 万个字符,涵盖 161 种文字。Unicode 可以用不同格式编码:UTF-8(可变宽度,Web 标准)、UTF-16(Windows/Java 使用)和 UTF-32(固定宽度)。

主要特点

  • 涵盖所有书写系统的通用标准
  • 来自 161 种文字的超过 15 万个字符
  • 码点以 U+XXXX 格式书写
  • 多种编码形式:UTF-8、UTF-16、UTF-32
  • 向后兼容 ASCII(前 128 个码点)
  • 包括表情符号、符号和历史文字

常见用途

  1. 多语言文本处理
  2. Web 内容国际化
  3. 数据库字符存储
  4. 跨平台文本兼容性
  5. 应用程序中的表情符号支持

示例

Unicode 码点:

字符  码点        名称
A     U+0041      拉丁大写字母 A
a     U+0061      拉丁小写字母 a
中    U+4E2D      中日韩统一表意文字-4E2D
😀    U+1F600     笑脸
€     U+20AC      欧元符号

UTF-8 编码:
A (U+0041)    → 41           (1 字节)
€ (U+20AC)    → E2 82 AC     (3 字节)
中 (U+4E2D)   → E4 B8 AD     (3 字节)
😀 (U+1F600)  → F0 9F 98 80  (4 字节)

JavaScript:
'A'.codePointAt(0).toString(16)  // '41'
String.fromCodePoint(0x4E2D)     // '中'

QubitTool 相关工具

相关概念