# Unicode 里的汉字：基本区和扩展区

> 适合谁看：想知道一个字的「编码」是什么、为什么有的字在「扩展 B 区」、扩展区的字为什么难处理的人。

## 码位：每个字的编号

Unicode 给每个字符一个编号，叫码位，写作 `U+` 加十六进制数，例如「中」是 U+4E2D。

Unicode 把码位分成 17 个「平面」，每个平面 65,536 个位置：

- **第 0 平面（基本多文种平面）**：最常用的字符，包括常用汉字；
- **第 2、3 平面**：几乎全是汉字扩展区；
- 第 15、16 平面：私用区，见[《私用区（PUA）里的字为什么靠不住》](https://docs.cocobook.com/link/1285)。

## 汉字分布在哪些区块

下表按 Unicode 17.0（2025 年）的数据统计：

| 区块 | 码位范围 | 汉字数 | 所在平面 |
|---|---|---|---|
| 中日韩统一表意文字（基本区） | 4E00–9FFF | 20,992 | 0 |
| 扩展 A | 3400–4DBF | 6,592 | 0 |
| 扩展 B | 20000–2A6DF | 42,720 | 2 |
| 扩展 C | 2A700–2B73F | 4,160 | 2 |
| 扩展 D | 2B740–2B81F | 222 | 2 |
| 扩展 E | 2B820–2CEAF | 5,774 | 2 |
| 扩展 F | 2CEB0–2EBEF | 7,473 | 2 |
| 扩展 I | 2EBF0–2EE5F | 622 | 2 |
| 扩展 G | 30000–3134F | 4,939 | 3 |
| 扩展 H | 31350–323AF | 4,192 | 3 |
| 扩展 J | 323B0–3347F | 4,298 | 3 |
| 兼容区中的 12 个统一汉字 | F900–FAFF | 12 | 0 |

合计 101,996 个统一汉字。2026 年发布的 Unicode 18.0 又在扩展 D 补了 1 个。

## 扩展区为什么难处理

- **在辅助平面**：第 0 平面以外的字，在 UTF-8 里占 4 个字节，在 UTF-16（Windows、Java、JavaScript 内部常用）里要用两个单元（「代理对」）表示。只按 3 字节或 1 个单元处理的老程序会出错；
- **字体少**：扩展 B 以后的字，多数常用字体都没有；
- **输入法少**：很多输入法默认不出扩展区的字。

## 「统一」是什么意思

中国大陆、台湾、香港、日本、韩国、越南的汉字，如果只是写法细节不同，会合并成一个码位，由字体决定显示哪种写法，见[《同一个字，为什么各地写法不同》](https://docs.cocobook.com/link/1275)。真正不同的字（如简繁）才分开编码。

## 怎么查一个字的编码

- Unicode 官方汉字数据库（Unihan）：输入字或码位查询；
- 在电脑上：Windows 的「字符映射表」、macOS 的「字符检视器」都能显示码位。

<p style="margin-top:2.5em;padding-top:.6em;border-top:1px solid #e6e6e6;font-size:.85em;color:#8a8a8a"><a href="https://docs.cocobook.com/link/1307#bkmrk-src-e02-unicode" style="color:inherit;text-decoration:none;border-bottom:1px dotted #bbb">参考资料</a></p>