UTF-8 是 Unicode 最常用的存储编码,用 1–4 个字节表示一个字符:ASCII 字符 1 字节,拉丁字母扩展 2 字节,常用汉字 3 字节,emoji 等 4 字节。下面重点说明典型场景与选择建议。
UTF-8应用场景
- 网页、HTML、CSS、JavaScript 文件
- JSON 和绝大多数 Web API
- Linux/macOS 文件名和终端
- 数据库存储(MySQL 应使用 utf8mb4)
- 源代码文件
新项目一律选 UTF-8;对接老旧的 Windows 软件、银行或政务系统时,按对方要求转换为 GBK/GB18030;MySQL 选 utf8mb4 而不是 utf8(后者最多 3 字节,存不了 emoji)。
示例
输入:user@example.com
编码结果:75 73 65 72 40 65 78 61 6D 70 6C 65 2E 63 6F 6D
说明:按 UTF-8 共 16 字节。
命令行示例
# 查看文件编码
file -i notes.txt
# GBK 转 UTF-8
iconv -f GBK -t UTF-8 in.txt > out.txt
# 查看字节
echo -n "中" | xxd # e4b8 ad
中文的处理
常用汉字在 UTF-8 中都是 3 字节,首字节在 E4–E9 之间:“中”E4 B8 AD,“文”E6 96 87,“问”E9 97 AE。中文标点(,。“”)也是 3 字节。
本站的字符编码检测工具可以直接处理,计算在浏览器本地完成,适合快速核对结果。
常见问题
【一个汉字在 UTF-8 中占几个字节?】常用汉字 3 个字节;扩展 B 区及以后的生僻字 4 个字节。
【UTF-8 和 utf8mb4 有什么区别?】utf8mb4 是 MySQL 中真正完整的 UTF-8;MySQL 的 utf8 最多 3 字节,不能存 emoji。
【什么是 BOM?】文件开头的 EF BB BF 三个字节,用来标记 UTF-8。网页和脚本文件建议不加。
文中示例可以在本站对应工具中验证;处理密码、证件号等敏感数据时,请注意保护隐私。
标签: 文本处理