URL 编码解码
对 URL 与查询参数做百分号编码,或把已编码的 URL 还原。可在适用于单个参数的 encodeURIComponent 与适用于完整链接的 encodeURI
对文本做百分号编码,让它可以安全地放进 URL 里传输;或者解码你从日志、邮件里复制来的链接。空格、& 符号、问号和非拉丁字符这类值,在进入查询字符串之前都必须转义,而本工具会明确显示编码后的形态。
有两种模式很关键:编码单个值(搜索词、邮箱地址、令牌)会转义每一个保留字符,而编码完整链接则会保留结构字符——斜杠、问号和 & 符号。选错模式是重定向失效的经典原因,所以模式可以自行选择。
如何对 URL 编码和解码
粘贴文本或 URL
选择单值模式或完整链接模式
复制编码或解码后的结果
常见问题
两种模式有什么区别?
单值模式会转义 & = ? / # 这类保留字符,在查询参数内部就该用它。完整链接模式会保留这些字符,让整条 URL 依然可用。
为什么空格会变成 %20 或 +?
%20 是标准的百分号编码。加号是 HTML 表单提交遗留下来的旧约定,只在查询字符串里与它等价,放在路径里并不等价。
它既能编码也能解码吗?
可以,解码双向都支持,会还原出原始字符,包括带重音符号的文字和 CJK 文字。
为什么我的字符串解码失败?
单独一个 % 后面没有跟两位十六进制数字就是无效的,无法解码。检查一下是否有被截断的值,或者本意就是字面意义的百分号。
它能处理非拉丁字符吗?
可以,文本会先按 UTF-8 编码,再做百分号编码,这正是浏览器和服务器期望的形式。
我的输入会被上传吗?
不会,编码和解码在浏览器里都是纯文本操作。
一览
| 输入 | 文本 |
|---|---|
| 多个文件 | 否 |
| 运行位置 | 在你的浏览器中——文件永远不会被上传 |
| 离线可用 | 是 — 页面加载完成后 |
| 价格 | 免费,无需注册,无水印 |
选择数据格式
JSON 是 API 返回以及程序读取的任何数据的默认格式:它天然处理嵌套结构、数字、布尔值和 null,而且每种语言都能解析它。CSV 更小,能直接打开进表格软件,但它无法表达嵌套,在分隔符、引号规则和字符集上也没有共同标准——而这正是转换出错的地方。XML 冗长,但能承载属性、混合内容和模式,所以它仍然主导着文档格式和遗留系统集成。YAML 对配置来说最易读,但它对空白敏感,还有出人意料的类型强制转换(「no」会变成 false,像 1.10 这样的版本号会变成 1.1)。请选择使用方工具偏好的格式,而不是看起来最漂亮的格式。
转换在哪里悄悄出错
大多数转换缺陷与语法无关,而与含义有关。一列邮编的 CSV 字段会在表格软件猜它是数字的那一刻丢掉前导零;一个很长的 ID 会超出浮点精度;日期会因为先写日还是先写月而意思大变。JSON 的键是无序的,但数组是有序的,排序键的工具不会改变任何东西,而排序数组的工具会改变数据。Unicode 是另一个陷阱:文本可能以 UTF-8、UTF-16 或带字节顺序标记的形式到来,解码器猜错就会把带重音的字符变成乱码。在信任任何转换之前,抽查第一行和最后一行、任何带前导零的字段,以及任何含有引号、逗号或换行的字段。