将\uXXXX或\u{XXXXXX}格式快速还原为汉字、符号、表情,纯前端运行,无需上传。
Unicode 是一套全球统一的字符编码标准,为世界上几乎所有文字、符号、表情分配唯一的码位(Code Point),解决早期编码碎片化导致的乱码问题。
U+XXXX
表示,范围 U+0000
到 U+10FFFF
(共 1,114,112 个)。\uXXXX
是 UTF-16 代码单元转义,不足 4 位补零;超过 U+FFFF 用代理对 \uD800\uDC00
或 ES6 \u{1F600}
。平面 | 范围 | 用途示例 |
---|---|---|
基本多语言平面 BMP | U+0000 – U+FFFF | ASCII、汉字、常用符号 |
补充多语言平面 SMP | U+10000 – U+1FFFF | 历史文字、罕见汉字 |
补充表意平面 SIP | U+20000 – U+2FFFF | 康熙部首、扩展 B/C/D 汉字 |
补充特殊用途平面 SSP | U+E0000 – U+EFFFF | 标签、变体选择器 |
// ES5 代理对(>U+FFFF)
"\uD83D\uDE00" // 😀
// ES6 大括号写法
"\u{1F600}" // 😀
// 数字转义
String.fromCharCode(0x4F60) // "你"
String.fromCodePoint(0x1F600) // 😀
.length
返回 UTF-16 代码单元数,emoji 可能为 2;Unicode 给每个字符发“全球身份证”,\uXXXX 只是这张身份证的“转写形式”,让文本在代码里安全通行。
将\uXXXX
或\u{XXXXXX}
形式还原为人类可读的字符,常用于读取配置文件、反序列化文本、还原聊天内容。
// 解码
function fromUnicode(str) {
return str.replace(/\\u[\dA-F]{4}/gi, (m) => String.fromCharCode(parseInt(m.slice(2), 16)));
}
全部计算在浏览器完成,零上传、零收集。