Unicode 是国际统一的字符集,为世界上的文字、符号和 emoji 分配唯一码点(U+0000–U+10FFFF,共 17 个平面)。下面重点说明排版建议。
Unicode怎样可读地显示
查询函数返回整数码点(Python ord)或十六进制字符串。编码函数再把它变成字节。
输出形式(U+XXXX、\uXXXX、HTML 实体)、规范化形式(NFC/NFD)、是否同时显示 UTF-8 字节。
示例
输入:user@example.com
码点结果:
u=U+0075,s=U+0073,e=U+0065,r=U+0072,@=U+0040,e=U+0065,x=U+0078,a=U+0061,m=U+006D,p=U+0070,l=U+006C,e=U+0065,.=U+002E,c=U+0063,o=U+006F,m=U+006D
说明:码点是抽象编号,具体存盘还要选 UTF-8 或 UTF-16 等编码。
命令行示例
python3 -c 's="中😀"; print([hex(ord(c)) for c in s])'
echo -n 中 | iconv -t UTF-8 | xxd
特殊字符
特殊码点:U+0000 NUL,U+FEFF BOM/零宽不换行,U+200B 零宽空格,U+FFFD 替换字符 �,U+1F600 😀。
本站的Unicode转换工具可以直接处理,计算在浏览器本地完成,适合快速核对结果。
常见问题
【为什么两个看起来一样的字比较不相等?】可能一个是组合字符(字母+注音),一个是预合成字符,需要先规范化。
【emoji 是一个字符吗?】一个 emoji 可能由多个码点组成(例如带修饰符或 ZWJ 序列)。
【Unicode 和 UTF-8 是一回事吗?】不是。Unicode 规定“字符编号”,UTF-8 规定“编号怎么变成字节”。
文中示例可以在本站对应工具中验证;处理密钥、证书等敏感数据时,请注意保护隐私。