URL编码是什么
URL 编码也称为百分比编码,用百分号后跟代码替换网址中不安全的字符。空格变为 %20,& 符号变为 %26,依此类推。这使您可以将任何文本、空格、重音符号、符号放入 URL 中,而不会破坏它。该工具对文本进行编码以便在 URL 中安全使用,并将百分比编码文本解码回可读形式。
为什么有必要
URL 可以安全包含的字符集有限。当您将包含空格、斜杠、问号或非英文字母的搜索词、参数值或路径段直接放入 URL 中时,这些字符可能会被误解并破坏链接。编码将它们转换为服务器和浏览器可以正确解码的安全表示形式。任何以编程方式构建查询字符串、API 调用或链接的人都需要不断地这样做。
编码和解码
编码采用可读文本并使其成为 URL 安全的,这在构建链接或查询参数时至关重要。解码则相反,将百分比编码的字符串重新转换为可读文本,这在您读取某人发送给您的 URL、调试 API 调用或检查参数实际包含的内容时非常有用。该工具只需单击一下即可完成这两项操作,并通过 UTF-8 正确处理重音字符和非英语字符。
常见情况
构建一个搜索 URL,其中查询包含空格和符号。通过查询参数传递包含与号或等号的值,而不破坏 URL 结构。读取长的、编码的 URL 以了解它指向的内容。构造必须对参数进行编码的 API 请求。由于它在浏览器中运行,因此您可以安全地对包含敏感数据的值进行编码或解码。
URL编码是什么
URL 编码,也称为百分比编码,用百分号后跟两个十六进制数字替换 URL 中不安全或保留的字符。空格变为 %20,& 符号变为 %26,依此类推。 RFC 3986 标准将 URL 限制为一小组 ASCII 字符,因此该组之外的任何内容(空格、重音符号、表情符号或保留符号,如 ?) & = # 当用作数据时,必须进行编码,以便在不破坏 URL 结构的情况下从浏览器传输到服务器。
编码 URI 与 编码 URIComponent
JavaScript 提供了两种编码函数,选择错误是一个常见的错误。 encodeURIComponent 对保留的所有内容进行编码,这就是您想要放入查询字符串、搜索词、参数值、重定向目标中的各个值的内容。 encodeURI 保留 URL 结构字符,如 / ? & = ,用于对整个 URL 进行编码,同时保持其功能。经验法则:对 URL 内的值使用encodeURIComponent,而仅对整个 URL 使用encodeURI。该工具对组件进行编码,这是您大多数时候所需要的。
常见的 URL 编码错误
有两个错误占主导地位。当你对已经编码的字符串进行编码时,就会发生双重编码,%20 变成 %2520,这会破坏链接;仅对原始文本进行编码,绝不对已编码的 URL 进行编码,如果不确定,请先进行解码。另一个是加号的歧义:在查询字符串中,+ 可以表示空格(来自 HTML 表单编码),但在 URL 路径中它是文字加号。如有疑问,请使用 %20 表示空格,这样在任何地方都不会产生歧义。另请记住,值中未编码的 & 会被误读为参数分隔符,从而分割数据。