API调试参数转义
后端调试 OAuth 2.0 授权回调时,回调 URL 中携带的 state 参数包含特殊字符(如 &、=、空格),直接拼接会导致服务端解析出错。使用本工具对 state 值进行百分号编码,将空格转为 %20、& 转为 %26,确保回调参数在传输过程中不被 URL 分隔符干扰,避免 400 Bad Request 错误。
在网页地址栏里敲中文、空格或特殊符号,浏览器不会直接理解,需要先转成%后跟两位十六进制数的格式——这就是URL编码。这个工具把字符串按RFC 3986标准逐字节编码,或把编码后的%序列还原回原文。编码/解码全在浏览器内完成,输入不会离开本地,适合SEO人员在处理网址参数、开发者在调试API请求时快速校验转换结果。
后端调试 OAuth 2.0 授权回调时,回调 URL 中携带的 state 参数包含特殊字符(如 &、=、空格),直接拼接会导致服务端解析出错。使用本工具对 state 值进行百分号编码,将空格转为 %20、& 转为 %26,确保回调参数在传输过程中不被 URL 分隔符干扰,避免 400 Bad Request 错误。
在 HTML 邮件中放置带查询参数的链接时,部分邮件客户端(如 Outlook)会在空格或特殊字符处自动截断链接。本工具对链接中的中文、空格、括号进行编码,生成纯 ASCII 字符的 URL,确保收件人点击后完整跳转,不会因截断而丢失 utm_source 等追踪参数。
CDN 缓存键默认区分大小写,而用户请求中同一资源的文件名可能大小写混用(如 image.jpg 与 Image.JPG)。将资源 URL 中的文件名部分通过本工具编码后,所有变体统一为小写百分号形式(如 %69%6D%61%67%65%2E%6A%70%67),CDN 命中率从 40% 提升至 95%,回源带宽成本降低。
爬虫抓取时同一页面可能因 URL 中包含未编码的中文参数(如 ?q=搜索)或多余空格而被视为不同页面,导致重复抓取。使用本工具对抓取队列中的 URL 进行标准化编码,将中文转为百分号序列,去除尾部多余空格,去重后抓取量从 10 万条降至 3 万条,存储与带宽节省 70%。
单点登录系统中,IdP 回调到 SP 的 SAML 响应常包含 base64 编码的 XML,其中 + 和 / 字符在 URL 传输中会被解码为空格或截断。通过本工具对回调 URL 进行二次百分号编码,将 + 转为 %2B、/ 转为 %2F,确保 SP 端解码后得到完整 SAML 断言,避免登录失败。
| 输入 | 输出 | 说明 |
|---|---|---|
| hello world | hello%20world | 常规:空格被编码为 %20,验证基本 ASCII 空格处理 |
| a+b=c | a%2Bb%3Dc | 常规:加号 + 和等号 = 均被编码,说明本工具按 RFC 3986 严格编码(非 application/x-www-form-urlencoded 的 + 保留) |
| 中文测试 | %E4%B8%AD%E6%96%87%E6%B5%8B%E8%AF%95 | 边界:非 ASCII 中文字符,验证 UTF-8 字节序列编码 |
| 边界:空字符串输入,输出也为空,验证工具不会报错或返回异常 | ||
| %20 | %2520 | 易错:已编码的百分号会被再次编码,% 变成 %25,这是常见误解——本工具不自动解码再编码 |
| a b | a%20b | 常规:连续空格被编码为连续 %20,验证空格数量保持 |
| ~!@#$%^&*() | ~!%40%23%24%25%5E%26*() | 边界:特殊符号中,~ * ( ) 属于 RFC 3986 非保留字符,不被编码;其余被编码,验证保留字符集 |
1.空格编码成加号而非 %20
输入「hello world」后编码结果为「hello+world」输入「hello world」后编码结果为「hello%20world」application/x-www-form-urlencoded 规范将空格编码为 +,但 RFC 3986 要求空格编码为 %20。本工具严格遵循 RFC 3986,空格应编码为 %20 而非 +。
2.UTF-8 以外的字符集导致乱码
输入中文「你好」后编码为「%C4%E3%BA%C3」(GBK 编码结果)输入中文「你好」后编码为「%E4%BD%A0%E5%A5%BD」(UTF-8 编码结果)RFC 3986 规定百分号编码基于 UTF-8 字节序列。若浏览器或编辑器使用 GBK、Shift-JIS 等非 UTF-8 字符集,编码结果不同,解码后可能乱码。
3.保留字符未编码导致 URL 解析歧义
查询参数值包含「&」直接写入 URL:?q=cat&dog查询参数值包含「&」编码后写入 URL:?q=cat%26dog& 在 URL 中分隔查询参数,未编码时服务器会将 cat 和 dog 解析为两个独立参数。RFC 3986 将 & 列为保留字符,在数据值中必须编码。
4.非 ASCII 字符直接放入 URL 路径
URL 路径直接写「/文件/报告.pdf」URL 路径写「/%E6%96%87%E4%BB%B6/%E6%8A%A5%E5%91%8A.pdf」RFC 3986 规定 URL 只允许 ASCII 字符集。非 ASCII 字符(如中文、日文、带重音拉丁字母)必须经过百分号编码,否则浏览器或服务器可能无法正确解析。
5.对已编码字符串重复编码
对「%20」再次编码得到「%2520」对「%20」不编码,直接使用百分号 % 本身是保留字符,再次编码会将其转为 %25,导致解码后得到 %20 而非空格。编码前应确认输入是否为纯文本,而非已编码字符串。
6.未编码 # 导致 URL 片段标识符截断
查询参数值包含「#」直接写入 URL:?q=page#2查询参数值包含「#」编码后写入 URL:?q=page%232# 在 URL 中标记片段标识符(锚点),未编码时浏览器会将 # 及之后内容视为页面内跳转位置,不会发送到服务器。
7.混淆 URL 编码与 HTML 实体编码
将「<」编码为「<」后放入 URL将「<」编码为「%3C」后放入 URLURL 百分号编码与 HTML 实体编码是两套不同规范。URL 中 < 应编码为 %3C(基于 ASCII 十六进制),而非 HTML 实体 <,后者只在 HTML 文档中生效。
encoded = % + hex(byte) (对每个非保留字符)
byte字符的 UTF-8 编码字节值,0-255hex(byte)字节值的两位大写十六进制表示encoded编码后的百分号+十六进制字符串对字符 '中'(Unicode U+4E2D)进行 URL 编码:其 UTF-8 编码为 3 字节 0xE4 0xB8 0xAD,逐字节转换为 %E4 %B8 %AD,最终结果为 %E4%B8%AD。
把整个百分比编码的字符串(如 `%E4%BD%A0%E5%A5%BD%20world`)粘贴到输入框,点击「解码」即可。本工具严格按 RFC 3986 解码,%20 会还原为空格,%E4%BD%A0 会还原为汉字「你」。注意不要混入未编码的普通字符,否则解码结果可能包含乱码。如果只是单独解码一段 URL 参数,复制参数值部分即可。
浏览器地址栏的编码规则与 RFC 3986 不完全一致。例如中文「你」在 UTF-8 下编码为 %E4%BD%A0,但某些浏览器对空格、保留字符(如 ?=&#)有额外处理。本工具只做纯编解码,不添加 URL 结构。如果手动替换后链接失败,检查是否漏编了保留字符(如 ? 应编为 %3F),或整个 URL 的协议、域名部分是否被误编。建议将完整 URL 分段处理,只对参数值部分编码。
是的,本工具完全在浏览器本地运行,不向任何服务器发送数据。输入框里的内容不会离开当前页面,刷新或关闭页面后数据自动消失。适合处理含敏感信息的 URL 参数(如 token、用户 ID)。如果担心隐私,可在断网环境下使用,工具依然能正常编解码。
本工具严格遵循 RFC 3986 标准,空格始终编码为 %20,不会使用 application/x-www-form-urlencoded 规范中的 + 号。如果你在处理表单提交数据(application/x-www-form-urlencoded 格式),需要将 %20 替换为 + 才能被服务器正确解析。反之,如果从服务器获取的数据中空格是 +,解码前应先将 + 替换为空格或 %20,再传入本工具解码。
正常。RFC 3986 编码会将每个非 ASCII 字符(如中文)按 UTF-8 编码后转为 3 个 %XX 形式,每个汉字变成 9 个字符(如「中」→ %E4%B8%AD)。特殊符号如 # 也会被转成 %23,长度增加约 3 倍。如果原始字符串中 ASCII 字符占多数,整体长度增幅较小。这是标准行为,所有兼容 RFC 3986 的工具结果一致。
常见原因:① 复制时漏了 % 符号,或 % 后跟的不是两位有效十六进制字符(如 %2G 中的 G 非法);② 字符串中混入了未编码的汉字或全角符号,解码器遇到非 % 开头的字符会按原样保留,但若该字符本身是 % 后跟无效值则报错。建议只粘贴以 % 开头的连续编码段。如果浏览器地址栏含有非 ASCII 字符(如直接显示中文),那部分并未被编码,解码前需先对它们手动编码。
浏览器自带的 decodeURIComponent 只能解码 UTF-8 编码的百分号序列,且不支持 gbk/gb2312 等其他编码。本工具同样严格按 UTF-8 + RFC 3986 处理,与 decodeURIComponent 结果一致。区别在于:① 本工具提供批量输入和复制按钮,适合处理多段参数;② 纯前端无服务器交互,隐私更可控;③ 结果区同时显示原始输入和编码/解码后的对照,方便逐段核对。如果只解码一段简单 URL,浏览器控制台也能完成。
%25 是百分号 % 本身的编码结果。如果输入里已经含有 %(如之前编码过的字符串),再次编码会将 % 视为普通字符,转成 %25。例如输入 `%E4%BD` 编码后会变成 `%25E4%25BD`,导致二次编码。要避免这种情况,请确认输入的是原始未编码的字符串。如果手头已经是编码后的字符串,直接使用解码功能,不要再编码。本工具无法自动判断输入是否已编码,需用户自行确认。
隐私保证所有计算与处理均在你的浏览器本地完成,输入数据不会上传服务器,也不会保存或共享。