URL编码与解码工具
将文本转换为URL安全的编码(百分号编码),或进行反向转换。适用于查询字符串、重定向和OAuth流程。
如何使用本工具
- 1
Choose a mode with the Encode or Decode button at the top (Encode is selected by default).
- 2
Type or paste your text into the input box — a raw value to encode, or a percent-encoded string to decode.
- 3
Click Run to convert the text; the result appears in the monospace box below.
- 4
Copy the output from the result box, or switch modes and click Run again to reverse the conversion.
什么是URL编码,何时需要它?
URL编码(也称为“百分号编码”,由RFC 3986规定)是将在URL中具有特殊含义的字符——或在URL中根本不安全的字符——转换为十六进制转义序列“%XX”的过程。URL规范保留了某些具有结构含义的字符:“?”开启查询字符串,“#”开启片段标识,“&”分隔查询参数,“/”分隔路径段,等等。如果用户输入包含其中任何字符,而你将其原样嵌入URL,解析器就会误解它。URL编码通过将每个保留字符或不安全字符替换为其前缀为“%”的十六进制字节表示,来避免这种情况。空格变为%20,“&”变为%26,“=”变为%3D。非ASCII字符(西里尔文、中文、表情符号)会被转换为多字节的UTF-8序列,其中每个字节都进行百分号编码。当你点击链接时,浏览器会自动处理这些;但每当你通过代码构建URL时——在创建搜索查询、重定向目标、OAuth回调或webhook签名时——都必须先对用户提供的值进行编码。本工具使用的正是你的JavaScript代码会使用的encodeURIComponent / decodeURIComponent函数,因此其行为与生产环境完全一致。
常见使用场景
在将用户搜索词附加到搜索URL之前对其进行编码(?q=user+input)。
安全地将OAuth的redirect_uri参数传递给授权服务器。
构建在查询字符串中包含已编码JSON负载的webhook URL。
对“returnTo”URL进行编码,使其在穿过其他URL时得以保留。
解码提交表单后在地址栏中看到的已编码值。
测试格式错误的URL是如何被解析的:对一个特殊字符进行编码,观察会发生什么。
常见问题
我何时应该对URL进行编码?▼
encodeURI和encodeURIComponent有什么区别?▼
什么是URL安全的Base64,它与URL编码有何不同?▼
为什么“+”有时会被解码为空格?▼
非ASCII字符是如何编码的?▼
URL编码和HTML实体编码是一回事吗?▼
相关工具
JWT解码器
即时解码JSON Web Token(JWT)。完全在你的浏览器中运行:令牌绝不会离开你的设备,可安全用于生产环境的密钥。
JSON格式化与校验工具
在线格式化、校验和压缩JSON。完全在你的浏览器中运行:你的数据永远不会离开你的设备。
XML格式化工具
格式化并美化XML文档。适用于SOAP、站点地图、RSS订阅源和配置文件。
Base64编码与解码工具
将字符串编码为Base64,或将Base64解码为文本。尊重你的隐私:全部在你的浏览器中运行。
HTML实体编码与解码工具
将特殊字符转换为HTML实体(&、<等),或进行反向转换。适用于将文本安全地嵌入HTML。
CSS压缩工具
移除CSS中的注释、空白和不必要的字符,以减小文件体积。