Native/ASCII 转换

中文 Native 与 ASCII 编码互转工具,支持 \uXXXX 转义格式,支持代理对 emoji 字符,实时双向转换

Native/ASCII 互转

选择转换方向,输入文本后实时输出结果,支持代理对(emoji)与多种编码选项

输入中文文本,例如:你好,世界 0 字符

转换结果

等待输入... 0 字符
广告位

使用说明

  1. 选择转换方向:Native → ASCII 将中文等转为 \uXXXX 转义;ASCII → Native 反向还原
  2. "仅非 ASCII 字符"只转码非英文字符(推荐),"转换所有字符"会把每个字符都转为 \uXXXX
  3. "Hex 大小写"控制转义序列中 X 的字母大小写,例如 \u4F60 或 \u4f60
  4. "包含引号"会在结果两端加上双引号,便于直接粘贴到 Java/JS 等代码字符串字面量中
  5. 开启"实时转换"后输入时立即输出,关闭后需点击"开始转换"按钮
  6. 支持代理对字符(如 emoji 表情),会输出两个连续的 \uXXXX 转义序列
  7. 点击"交换输入/输出"可将结果回填到输入框并切换方向,便于反向验证

适用场景

  • Java/JS 资源文件国际化:中文属性文件 native2ascii 编码
  • Unicode 调试:查看字符串中字符的码点表示
  • 跨平台传输:避免编码问题导致中文乱码
  • JSON 字符串处理:包含特殊字符的安全转义
  • Emoji 分析:拆解代理对,查看码点序列

安全保障

  • 本地处理:所有转换在浏览器本地完成,不发送任何数据
  • 隐私保护:不记录、不上传用户输入的任何内容
  • 编码正确:严格遵循 Unicode 标准,正确处理 BMP 之外的代理对
  • 免费使用:无需注册,无使用次数限制

常见问题

为什么 emoji 输出的是两个 \uXXXX?

Unicode 码点超过 U+FFFF 的字符(如 emoji 笑脸 U+1F600)无法用单个 16 位码元表示,UTF-16 中使用代理对(surrogate pair)将其拆分为高位代理与低位代理两个 16 位值,因此会输出两个连续的 \uXXXX 转义序列。在 JavaScript 字符串中这是标准表示方式,反向解码时也会自动合并为单个字符。

"仅非 ASCII"和"转换所有字符"有什么区别?

"仅非 ASCII"只对码点大于 127 的字符(如中文、日文、韩文、Emoji 等)转义,英文字母数字、标点保持原样,输出更易读;"转换所有字符"会把每个字符(包括字母数字)都转为 \uXXXX,输出是完全的 ASCII 文本,便于在严格 ASCII 通道中传输。

ASCII → Native 时输入不合法的转义会怎样?

解析器会尽量解析合法的 \uXXXX 序列(X 为 0-9 a-f A-F)。对于不合法的序列(如 \u12GH)将原样保留并在结果下方的统计中提示。此外,工具兼容大小写 \u 前缀,并支持 \\uXXXX(已转义)的识别保护。

转换结果可以用于 Java properties 文件吗?

可以。Java 的 native2ascii 工具使用的就是 \uXXXX 编码格式,本工具的输出可直接粘贴到 .properties 文件中使用。建议勾选"仅非 ASCII 字符"以保留 ASCII 部分的可读性,符合 Java 资源文件惯例。