UTF-8 是 Unicode 最常用的存储编码,用 1–4 个字节表示一个字符:ASCII 字符 1 字节,拉丁字母扩展 2 字节,常用汉字 3 字节,emoji 等 4 字节。下面重点说明用样例检验结果。
UTF-8在线测试
本站的字符编码检测工具可以直接处理,计算在浏览器本地完成,适合快速核对结果。
| 输入 | 编码结果 |
|---|---|
| <b>粗体</b> | 3C 62 3E E7 B2 97 E4 BD 93 3C 2F 62 3E |
| I ♥ Unicode | 49 20 E2 99 A5 20 55 6E 69 63 6F 64 65 |
| 123问 | 31 32 33 E9 97 AE |
Python 示例
下面是 Python 中处理UTF-8的常用写法:
"中".encode("utf-8") # b'\xe4\xb8\xad'
b"\xe4\xb8\xad".decode("utf-8") # '中'
len("123问".encode("utf-8")) # 6
open("a.txt", encoding="utf-8")运行前确认输入的字符集(推荐 UTF-8),结果可以用本站工具交叉核对。
特殊字符
特殊字符的字节:不换行空格 U+00A0 是 C2 A0(2 字节),全角空格 U+3000 是 E3 80 80,零宽空格 U+200B 是 E2 80 8B,BOM 是 EF BB BF,emoji 😀 是 F0 9F 98 80。
常见问题
【UTF-8 和 utf8mb4 有什么区别?】utf8mb4 是 MySQL 中真正完整的 UTF-8;MySQL 的 utf8 最多 3 字节,不能存 emoji。
【什么是 BOM?】文件开头的 EF BB BF 三个字节,用来标记 UTF-8。网页和脚本文件建议不加。
【“䏿–‡”是什么乱码?】UTF-8 编码的“中文”被按 Latin-1/Windows-1252 解读的结果。
文中示例可以在本站对应工具中验证;处理密码、证件号等敏感数据时,请注意保护隐私。
标签: 文本处理