编码转换
编码(Encoding)不是加密——它不保护数据安全,而是解决"如何让计算机安全地处理特殊字符"的问题。URL 编码将中文和特殊符号转为 %XX 格式以便在网址中传输;Unicode 编码将非 ASCII 字符转为 \uXXXX 格式以便在 JavaScript 源码中使用。这是每个 Web 开发者的日常工具。
支持 Unicode 编解码和 URL 百分号编解码双向转换。输入中文自动得到 \uXXXX 格式,粘贴百分号编码的 URL 自动还原为可读文本。所有处理在浏览器端完成。
📖 编码转换工具使用说明
什么是编码?
编码(Encoding)是将字符转换为特定格式以便在计算机系统中传输和存储的过程。编码不是加密——它不提供安全保护,任何人都可以解码。这个工具支持两种 Web 开发中最常用的编码:URL 编码(将特殊字符转成 %XX 格式,确保 URL 安全传输中文和特殊符号)和 Unicode 编码(将非 ASCII 字符转成 \\uXXXX 转义序列,用于 JavaScript 源码和 JSON 序列化)。URL 编码详解
- 编码规则:URL 只允许 ASCII 字符集的特定子集(字母、数字、-_.~ 及保留字符)。其他字符(中文、空格、特殊符号)必须转换为 %XX 格式,其中 XX 是字符 UTF-8 编码的十六进制表示。
- encodeURI vs encodeURIComponent:JavaScript 有两个 URL 编码函数——encodeURI 保留 URL 中的特殊字符(:/?#[]@),适用于完整 URL;encodeURIComponent 编码所有特殊字符,适用于 URL 参数值。
- 常见陷阱:对完整 URL 使用 encodeURIComponent 会导致 :// 被编码为 %3A%2F%2F;对 URL 参数值使用 encodeURI 可能导致 & 未被编码从而截断参数。
Unicode 编码详解
- \uXXXX 格式:基本多语言面(BMP)字符用 4 位十六进制表示。例如"中"的码点是 U+4E2D,编码为 \u4e2d。
- \u{XXXXX} 格式:超出 BMP 的字符(如 emoji 😀 U+1F600)使用 ES6 的 \u{1F600} 格式或代理对 \uD83D\uDE00。
- JSON 中的 Unicode:JSON 标准要求非 ASCII 字符用 \uXXXX 转义(虽然大多数解析器接受原始 UTF-8)。当你需要将 JSON 嵌入纯 ASCII 环境时,Unicode 转义是必需的。