工作原理
文本按 UTF-8 编码,每个字节写成八位。解码时每八位读取一次,并在显示文本前检查这些字节是否构成有效的 UTF-8。
A → 01000001 · 한 → 11101101 10010101 10011100
- 二进制输入中的空格、制表符、换行和下划线会被忽略。
- 位数必须是 8 的倍数。
- 不是有效 UTF-8 的字节会被拒绝,而不会显示乱码。
示例
| 文本 | 二进制 | 字节 |
|---|---|---|
| A | 01000001 | 1 |
| a | 01100001 | 1 |
| 0 | 00110000 | 1 |
| 空格 | 00100000 | 1 |
| 한 | 11101101 10010101 10011100 | 3 |
| 😀 | 11110000 10011111 10011000 10000000 | 4 |
ASCII 字母占一个字节,大多数带重音的字母以及希腊文或西里尔文占两个字节,韩文、日文和中文通常占三个字节,emoji 占四个字节。
提示
- 解码时保留每八位一组,这样少了一位也很容易发现。
- 二进制以 2 为基数:从右往左每一位分别代表 1、2、4、8、16、32、64 或 128。
- 要在不同进制之间换算整数(而非文本),请改用进制转换工具。
标准与来源
- RFC 3629 · UTF-8, a transformation format of ISO 10646(IETF)
- The Unicode Standard · Unicode Consortium
最后审核于 2026年10月27日
常见问题
为什么每组 8 位?
一个字节是 8 位,而 UTF-8 将每个字符写成一到四个字节。按八位分组便于阅读。
为什么一个韩文字符会变成三组?
非拉丁文字需要更多字节:韩文音节占 3 个字节,大多数带重音的字母占 2 个,emoji 占 4 个。
可以粘贴不带空格的二进制吗?
可以。空格、制表符、换行和下划线会被忽略,但位数必须是 8 的倍数。
转换可以还原吗?
对有效的 UTF-8 可以。无效的 UTF-8 字节会被拒绝,而不会显示乱码。