Unicode 转义互转

原生文本、\uXXXX、代理对、\u{1F600} 与 HTML 数字实体五种表示互转,附码点明细表。

输入原生文本
① \uXXXX + 代理对(JS/Java 传统字面量)
-
② \uXXXX 仅 BMP(补充平面保留原字符)
-
③ \u{1F600}(ES2015 码点转义)
-
④ HTML 数字实体(十进制 + 十六进制)
-
-
⑤ 原生文本(当前基准文本,用于回填对比)
-

本地计算:所有转换用浏览器原生 String.codePointAt / fromCodePoint、TextEncoder 与手写编解码实现,不请求外部地址。

为什么有“代理对”:JavaScript 字符串按 UTF-16 码元存储,码点大于 U+FFFF 的字符(emoji、部分生僻字)必须拆成两个 \uXXXX;写成单个 \uD83D 是孤立代理,渲染为 ?。JSON 与 eval 只认 \uXXXX 形式,\u{...} 仅 JS 源码支持。

安全提示:本工具不会执行任何输入内容(反向页对 HTML 实体走 DOMParser 受控解析,不写 innerHTML),因此可以放心粘贴待排查的字符串。