URL 编码
URL 编码 (URL Encoding
),又称作 Percent Encoding
,编码由 % 与两位十六进制组成,是用于 URL 中的编码机制。见百分号编码。
未保留字符
以下字符为未保留字符:
'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_.~'
建议所有的 URI 必须对未保留字符不加以百分号编码,其它字符建议先转换为 UTF-8 再逐字节使用百分号编码。
转化过程
如 山月
- 在 Unicode To UTF-8 中,可知
山月
的 UTF-8 编码为E5 B1 B1 E6 9C 88
- 对其编码后的 UTF-8,分别添加百分号
%E5%B1%B1%E6%9C%88
API
可注意各语言 API 对于保留字符 !
(
等的处理
Javascript
// => '%E5%B1%B1%E6%9C%88'encodeURIComponent('山月')
// => '山月'decodeURIComponent('%E5%B1%B1%E6%9C%88')
// => '(!'encodeURIComponent('(!')
Python
from urllib.parse import quote, unquote
# => '%E5%B1%B1%E6%9C%88'quote('山月')
# => '山月'unquote('%E5%B1%B1%E6%9C%88')
# => '%3F%21'quote('?!')