要点
- 01一键为URL或查询字符串中的安全使用进行百分比编码任何文本。
- 02支持组件范围(编码所有内容)和完整URI范围(保留结构字符)。
- 03处理Unicode——表情符号和非ASCII字符先进行UTF-8编码,然后逐字节进行百分比编码。
- 04完全在你的浏览器中运行;你的输入永远不会被上传或记录。
为什么URL编码很重要
URL只能包含特定的ASCII字符集。空格、与号、等号和任何非ASCII文本(表情符号、中文字符、阿拉伯文脚本)在出现在URL中之前必须进行百分比编码。没有编码,查询参数中的空格会被读作URL分隔符,&会被解释为参数之间的分隔符——无声地损坏请求。
开发者经常遇到URL编码:手工构建API请求URL、构建重定向目标、调试格式错误的查询字符串或处理OAuth回调URL。Handytool的URL编码器处理编码和解码,具有正确的Unicode行为、无需安装和无需服务器往返。
如何对字符串进行URL编码或解码
- 01
粘贴你的文本
输入或粘贴你想编码的字符串——例如,包含空格或特殊字符的查询参数值——到输入框中。
- 02
选择组件或完整URI范围
选择组件范围以编码单个查询参数值(转义每个保留字符,包括/和?)。选择完整URI范围以编码整个URL,同时将/、?和#保留为结构分隔符。
- 03
点击编码或解码
点击编码将文本转换为百分比编码的字符串,或点击解码将%20、%3F和所有其他百分比序列转换回可读字符。
- 04
复制并使用结果
点击复制按钮并将编码或解码的字符串粘贴到你需要的任何地方——URL、API调用、配置文件或代码编辑器。
查询参数中必须编码的字符
这些字符在URL中有特殊含义,如果不转义会破坏查询字符串。
- 01空格 → %20(或表单编码的主体中的+,但URL查询字符串中的%20)。
- 02& → %26——分隔查询参数,所以在值内必须转义。
- 03= → %3D——分隔键和值,在值内必须转义。
- 04+ → %2B——通常在旧服务器中被误读为空格;始终明确编码。
- 05# → %23——标记片段标识符;在任何值内编码。
- 06非ASCII(表情符号、CJK等)→ UTF-8字节编码为%XX%XX序列。
无隐私风险地编码令牌和凭证
URL编码器完全在你的浏览器中使用原生encodeURIComponent和encodeURI JavaScript函数运行。没有东西被传输到任何服务器。这意味着你可以安全地编码OAuth令牌、API密钥或私有重定向URI,而这些值永远不会离开你的机器。
一旦你关闭或重新加载标签页,你的输入就消失了。没有会话、没有记录、没有账户要求。
URL编码器常见问题
什么是URL编码或百分比编码?
URL编码用%后跟两个十六进制数字替换在URL中具有特殊含义的字符——空格、&、=、?和非ASCII文本。它让你能安全地在URL中包含任意文本,而不会破坏其结构。
组件和完整URI编码有什么区别?
组件编码(encodeURIComponent)转义每个保留字符,包括/和?。用它来获取单个查询参数值。完整URI编码(encodeURI)保留结构字符,以便整个URL保持有效。
该工具如何处理Unicode和表情符号?
Unicode字符首先被转换为UTF-8字节,然后每个字节作为%XX百分比编码,与所有现代浏览器使用的标准相匹配。
URL编码与HTML实体编码相同吗?
不是。URL编码使用百分比序列(%20表示空格);HTML实体编码使用命名或数值引用(&代表&)。它们服务于不同的环境,不应混淆。
我的输入是否存储在任何地方?
不是。编码和解码使用原生浏览器JavaScript API。没有东西被上传、记录或存储。
该工具是否免费?
是的。Handytool完全免费,无需注册或使用限制。