Unicode 是国际统一的字符集,为世界上的文字、符号和 emoji 分配唯一码点(U+0000–U+10FFFF,共 17 个平面)。下面重点说明报错与纠正。
Unicode开发中的常见错误
- invalid Unicode code point:超过 U+10FFFF 或落在代理区
- 正则没开 Unicode 模式,导致 . 或 \w 行为不符合预期
- 字体缺失时显示为方框,并不代表码点错误
示例
输入:abc
码点结果:a=U+0061,b=U+0062,c=U+0063
说明:码点是抽象编号,具体存盘还要选 UTF-8 或 UTF-16 等编码。
常见用途
- 全球化和多语言软件
- 网页、JSON、API 的默认字符集基础
- emoji 与符号处理
- 数据库排序和检索(校对规则)
Python 示例
下面是 Python 中处理Unicode的常用写法:
hex(ord("中")) # "0x4e2d"
"\u4e2d" # "中"
"\U0001F600" # "😀"
list(map(ord, "123问"))运行前确认输入的字符集(推荐 UTF-8),结果可以用本站工具交叉核对。
本站的Unicode转换工具可以直接处理,计算在浏览器本地完成,适合快速核对结果。
常见问题
【为什么两个看起来一样的字比较不相等?】可能一个是组合字符(字母+注音),一个是预合成字符,需要先规范化。
【emoji 是一个字符吗?】一个 emoji 可能由多个码点组成(例如带修饰符或 ZWJ 序列)。
【Unicode 和 UTF-8 是一回事吗?】不是。Unicode 规定“字符编号”,UTF-8 规定“编号怎么变成字节”。
文中示例可以在本站对应工具中验证;处理密钥、证书等敏感数据时,请注意保护隐私。
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。