欢迎访问 AI DO TOOL 网站

Unicode 转义编解码

字符与 \uXXXX 转义双向互转;emoji 等补充平面字符正确拆成代理对,并给出每个字符的码点、UTF-8 字节与 UTF-16 单元明细。

结果\u4F60\u597D\u002C\u0020\uD83D\uDE00\u0020\u0041
逐字符明细
字符码点UTF-8 字节UTF-16 单元
你U+4F600xE4 0xBD 0xA0U+4F60
好U+597D0xE5 0xA5 0xBDU+597D
,U+002C0x2CU+002C
U+00200x20U+0020
😀U+1F6000xF0 0x9F 0x98 0x80U+D83D
U+00200x20U+0020
AU+00410x41U+0041

概念

每个字符都住在一个编号码点上:A 是 U+0041,中是 U+4E2D。JavaScript 用 \uXXXX 转义写法表示它们。坑在于:emoji 和生僻字住在前 65536 个格子之外,所以一个 emoji 不是一个 \uXXXX,而是一对,叫代理对——比如笑脸就变成 \uD83D\uDE00。本工具两个平面都正确处理,并列出每个字符的码点、UTF-8 字节和 UTF-16 码元。

描述与趣事

为什么一个笑脸要占两个转义?因为这套系统设计时觉得 65536 个格子无限够用,而 emoji 是几十年后才来的。工程师只好打补丁:保留 D800–DFFF 区间。高位代理后接低位代理,就代表一个超大字符。这个补丁太成功了,现在谁也不敢拆。

历史与由来

Unicode 联盟于 1991 年 10 月发布了第一版 Unicode 标准。2.0 版(1996 年 7 月)把容量扩到上百万个码点,并引入带代理对的 UTF-16,由 Peter Hartke 等工程师与 Unicode 技术委员会主导——这就是今天 emoji 总是两个转义的原因。

相关关键词

unicode 转义uxxxx 转换代理对emoji unicode码点
Keep a kind heart, hold integrity as your foundation, and cherish warm love; may the world know peace and humanity live in harmony.
持善良之心,守正直之本,怀温暖之爱;愿世界和平,人间祥和。