Unicode Escape / Unescape
One input per line. Output is numbered to match the input order.
Pinned tools are listed in your favourites on the home page.Copies a link to this tool that carries your current input, so it opens ready to run.Gives you an iframe snippet for putting this tool on your own site.
Ctrl+Enter Run · Ctrl+Shift+C Copy · Esc Clear
Understand Unicode Escape / Unescape
Unicode 转义把非 ASCII 字符改写成 \uXXXX 形式,让文本能够安全通过只接受纯 ASCII 的文件、字段和系统。
How it works
码点大于 127 的每个字符都会被替换成反斜杠 u 加上它的十六进制码点,因此 é(U+00E9)变成 \u00E9。U+FFFF 以上的字符——emoji 和多数古文字——四位十六进制装不下,工具会输出 ES2015 的花括号形式 \u{1F30D}。ASCII 字符原样保留,这让输出仍然可读、也便于做 diff。
When to use it
- 把非 ASCII 文本粘进 Java .properties 文件,或粘进编码方式不受你控制的源文件。
- 当两个长得一样的字符——连字符与短破折号、普通空格与不换行空格——导致比较失败时,查清字符串里到底是哪一个。
- 编写正则或测试夹具时,需要让不可见字符在页面上可见。
- 把文本送进遗留系统,或送进只允许 ASCII 的数据库列。
Watch out for
- 花括号形式 \u{1F30D} 是合法的 JavaScript,却不是合法的 JSON。同一个字符在 JSON 中必须写成代理对 \uD83C\uDF0D,因此转义后的 emoji 不能直接粘进 .json 文件。
- 转义改变的是写法,不是字符串本身。看起来一模一样的两个字符串仍可能不同——é 既可能是一个码点(U+00E9),也可能是 e 加一个组合重音(U+0065 U+0301)——而转义正是看清手上是哪一种的办法。
- \uXXXX、\xXX 和 %XX 是三样不同的东西:码点、字节和 URL 转义。把它们混在一起是乱码的常规来源。
Frequently Asked Questions
Unicode 转义序列是什么?
Unicode 转义用码点表示字符:\u0041 = A,\u1F600 = 😀。它出现在 JavaScript 字符串字面量、JSON 文件、Java properties 和 CSS content 值中,用来在 ASCII 源码里安全地表示任意字符。
\u 和 \u{} 有什么区别?
\uXXXX(4 位十六进制)覆盖基本多文种平面(U+0000–U+FFFF)。U+FFFF 以上的字符(emoji、生僻符号)需要代理对(两段 \uXXXX),或者使用 ES2015+ 支持的扩展转义 \u{XXXXXX}。
实际代码中什么时候会出现 Unicode 转义?
开发者会在正则表达式(\u0041)、Java .properties 文件、发往纯 ASCII 系统的 JSON 载荷、字符集受限的数据库字段,以及 IDE 不支持非 ASCII 的源文件中使用转义。
How to Use Unicode Escape / Unescape
- Paste or type your input in the input area above.
- The tool processes your input automatically or click Run.
- Copy or download the result using the action buttons.
- Use Ctrl+Enter to run quickly from the keyboard.