关于此工具
空格、重音字符、&、= 和多数符号不能直接出现在 URL 中——必须转换为 %XX 转义序列(百分号编码)。关键在于选哪个函数:encodeURIComponent 会转义包括 &、=、? 在内的所有字符,适用于参数值;encodeURI 保留 URL 结构字符,仅用于编码完整 URL。
混用二者是经典 bug:对参数使用 encodeURI 会悄悄破坏含 & 或 = 的值。完整对比见 encodeURI vs encodeURIComponent。转换器下方的查询字符串解析器会把粘贴 URL 的每个参数解码到可编辑表格中——修改名称或值即可自动重建完整 URL。一切都在浏览器中运行——更多免费工具见 dec0de.dev。
URL(百分号)编码用 % 加上其十六进制字节值替换会破坏 URL 的字符——空格变成 %20,& 变成 %26。这是把搜索词、重定向目标、令牌和非 ASCII 文本安全放入链接或查询字符串的方式。保留字符(: / ? # [ ] @ ! $ & ' ( ) * + , ; =)、空格以及未保留集合(字母、数字和 - _ . ~)之外的任何字符都会被编码;其余保持可读。
常见问题
encodeURIComponent 还是 encodeURI,我该用哪个?
对单个查询值或路径段用 encodeURIComponent——它会编码 &、=、?、/ 等。仅对不想破坏的整个 URL 用 encodeURI。用 encodeURI 编码一个值是经典 bug。
为什么空格有时是 %20 有时是 +?
在 URL 路径中空格是 %20。在使用 form-urlencoded 格式的查询字符串中,空格常写作 +。两者都会解码回空格,“+ 表示空格”开关可在两种模式间切换。
可以一次编码一整列值吗?
可以。打开“批量:每行一个值”,每一行都会独立编码或解码,并保留原有顺序和空行。结果可复制或下载为文本文件。
哪些字符真正需要编码?
保留字符(: / ? # [ ] @ ! $ & ' ( ) * + , ; =)、空格、非 ASCII 文本和控制字符。未保留集合——字母、数字和 - _ . ~——始终保持原样。
为什么解码会报“转义无效”?
% 后面必须正好跟两个十六进制数字,且解出的字节必须是合法 UTF-8。未被编码的字面 % (应写作 %25)、像 %2 这样被截断的序列,或来自其他字符集的字节都会导致解码失败。本工具会指出出错的序列及其位置,并可直接跳转到该处。
我的 URL 数据会保密吗?
是的。编码、解码和查询字符串解析都在你的浏览器中运行。你的输入只保存在本浏览器的 local storage 中以便刷新后恢复——点击“清除”即可删除。任何内容都不会上传。