什么是网址编码器/解码器?
URL编码器/解码器将文本转换为百分编码(也称为URL编码),RFC 3986定义的转义方案使任意字符串可以安全地放入URL内部。&,=,?,#和/等字符在URL中具有结构含义 - 如果查询字符串值包含字面上的&,服务器将把您的参数分成两半,除非该字符转义为%26。此工具为您提供了开发人员遇到的所有三个编码变体:单个值的encodeURIComponent,完整URL的encodeURI,以及HTML表单主体的应用程序/x-www-form-urlencoded(空格为+)。
模式之间的区别比大多数教程所承认的更重要。 encodeUriComponent 转义每个保留的分隔符,因此它是单个查询参数、路径段或嵌入在另一个 URL 中的重定向目标的正确选择 - 但在完整 URL 上运行它会将 https:// 转入 HTTPS%3A%2F%2F。 # & =) 所以整个网址保持可导航,而 é 或 non-ascii 字符(如 é 或 non-ascii 字符仍被转义为 UTF-8% 编码的形式)。 表单-urlencoded 模式与您提交 <form> 时的浏览器发送的内容相匹配:与 encodeUriComponent 相同,除了空格变为“+”而不是“%20” - 一个遗留的怪癖,今天仍会跳转 API 集成。
Everything 在您的浏览器中 100% 运行客户端,使用与您的生产 JavaScript 使用的相同的本机编码URIComponent、编码URI 和解码URIComponent 函数,因此结果与您的代码将产生的结果完全匹配。您粘贴的任何内容 - OAuth 回调 URL、签名 S3 链接、令牌、会话 ID - 都会离开您的机器。解码器还会捕获格式错误的输入(一个杂散的 % 后面没有两个十六进制数字,会在 JavaScript 中丢弃 URIError)并报告一个明确的错误,而不是默默失败。
1个工作示例显示了该URL编码器和解码器的三种模式在同一文本上如何不同 键入café & creme,然后单击选择了编码URIC组件的Encode:输出为caf%C3%A9%20%26%20cr%C3%A8me 将模式切换到应用程序/x-www-form-urlencoded 和 Encode 再次,空格变为 +,给出caf%C3%A9+%26+cr%C3%A8me 在encodeURI模式下&保持原样,因为encodeURI将其视为URL分隔符,这就是为什么该模式适合整个URL而不是单个值解码反转其中任何一个,但只有表单模式将 + 变回空格。
如何使用URL编码器/解码器?
粘贴您的文本或 URL
将原始值放入输入区域 - 查询参数值、带空格和 Unicode 的完整 URL,或从服务器日志中提取的 %3D1%26B%3D2 的编码字符串。
选择编码模式
为单个值(查询参数、路径段)选择 encodeUriComponent,对于完整的网址, encodeURI 在哪里 :// 和 ? 当您构建 HTML 表单正文或使用 + 符号调试帖子有效负载时,必须生存或表单 UrlenCoded。
编码或解码
单击 encode 对输入进行百分比编码,或解码以将其反转。 解码处理 %xx 序列,并在表单模式下将 + 转换回空格。 格式错误的序列产生可读的错误,而不是空白输出。
复制或交换
一键复制结果到剪贴板,或使用交换按钮将输出移回输入中 - 当值已双重编码时(%2520)并需要第二次解码传递,很方便。
主要特点
三种现实世界模式
encodeuricomponent、encodeURI 和 application/x-www-form-urlencoded - 您在查询字符串、完整 URL 和表单正文中遇到的三种变体
本机 JavaScript 编码
用浏览器原生编码功能,所以RFC 3986未保留字符(A-Z a-z 0-9 - _。~)通过未触及和UTF-8多字节序列正确编码,像你自己的JavaScript一样,它也留下了!’() * 未逃逸,RFC 3986保留了
安全解码,有明显错误
像流浪汉“%”的格式不正确的百分比序列准确地报告了什么问题而不是抛出未处理的 URIError
交换输入和输出
一键将结果移回输入中 - 非常适合逐层展开双重编码值
Frequently Asked Questions
Related Tools
Caesar Cipher Encoder & Decoder
Encode and decode Caesar cipher text with any shift, plus ROT13 and ROT47. Brute-force all 25 shifts to crack an unknown key.
HTML Entity Encoder/Decoder
Encode and decode HTML entities - named (&), decimal (&), and hex (&) forms, with XSS-safe special-character escaping
Image to Base64 Converter
Convert images to Base64 data URIs and decode Base64 back to images.
Unicode Converter
Convert text to and from Unicode code points, HTML entities, JavaScript escapes, and CSS escapes. Emoji and astral characters handled correctly.
Comments
0 comments
No comments yet. Be the first to share your thoughts!