URL 编码 (URL Encoding
),又称作 Percent Encoding
,编码由 % 与两位十六进制组成,是用于 URL 中的编码机制。见百分号编码。
以下字符为未保留字符:
'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_.~'
建议所有的 URI 必须对未保留字符不加以百分号编码,其它字符建议先转换为 UTF-8 再逐字节使用百分号编码。
如 山月
山月
的 UTF-8 编码为 E5 B1 B1 E6 9C 88
%E5%B1%B1%E6%9C%88
可注意各语言 API 对于保留字符 !
(
等的处理
// => '%E5%B1%B1%E6%9C%88'
encodeURIComponent('山月')
// => '山月'
decodeURIComponent('%E5%B1%B1%E6%9C%88')
// => '(!'
encodeURIComponent('(!')
from urllib.parse import quote, unquote
# => '%E5%B1%B1%E6%9C%88'
quote('山月')
# => '山月'
unquote('%E5%B1%B1%E6%9C%88')
# => '%3F%21'
quote('?!')
Javascript
中 encodeURIComponent
与 encodeURI
有区别。/
)在 URL 的不同部分有不同的含义,根据上下文决定是否编码。URL 编码是 Web 开发中不可或缺的一部分。正确理解和应用 URL 编码可以帮助你构建更健壮、更安全的应用程序。通过遵循本文提到的最佳实践,你可以避免许多与 URL 编码相关的常见问题,提高应用的可靠性和用户体验。