UTF-8 是 Unicode 最常用的存储编码,用 1–4 个字节表示一个字符:ASCII 字符 1 字节,拉丁字母扩展 2 字节,常用汉字 3 字节,emoji 等 4 字节。下面重点说明返回结果与格式选项。
UTF-8输出格式说明
encode 返回字节序列;decode 返回字符串。非法字节在 strict 模式下抛出异常,在 replace 模式下变成 U+FFFD(�)。
常见参数:是否写入 BOM、遇到非法字节的处理方式(Python errors="strict"/"replace"/"ignore")、MySQL 的字符集与排序规则(utf8mb4_general_ci、utf8mb4_0900_ai_ci)。
示例
输入:<b>粗体</b>
编码结果:3C 62 3E E7 B2 97 E4 BD 93 3C 2F 62 3E
说明:按 UTF-8 共 13 字节。
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),结果可以用本站工具交叉核对。
Java 示例
下面是 Java 中处理UTF-8的常用写法:
byte[] b = "中".getBytes(StandardCharsets.UTF_8); // [-28, -72, -83]
String s = new String(b, StandardCharsets.UTF_8);运行前确认输入的字符集(推荐 UTF-8),结果可以用本站工具交叉核对。
本站的字符编码检测工具可以直接处理,计算在浏览器本地完成,适合快速核对结果。
常见问题
【“䏿–‡”是什么乱码?】UTF-8 编码的“中文”被按 Latin-1/Windows-1252 解读的结果。
【UTF-8 能表示所有汉字吗?】能,包括所有 CJK 扩展区汉字。
【一个汉字在 UTF-8 中占几个字节?】常用汉字 3 个字节;扩展 B 区及以后的生僻字 4 个字节。
文中示例可以在本站对应工具中验证;处理密码、证件号等敏感数据时,请注意保护隐私。
标签: 文本处理