HTML URL 编码
在本教程中,您将学习如何对 URL 进行编码以通过 Internet 安全地传输数据。
什么是 URL 编码
根据 RFC 3986,URL 中的字符仅限于定义的集合 保留和未保留的 US-ASCII 字符。 URL 中不允许使用任何其他字符。 但是 URL 通常包含 US-ASCII 字符集之外的字符,因此必须将它们转换为有效的 US-ASCII 格式才能实现全球互操作性。 URL-encoding,也称为percent-encoding,是对URL信息进行编码以便在互联网上安全传输的过程。
为了映射全球范围内广泛使用的字符,使用了两个步骤:
- 首先将数据按照 UTF-8 字符编码进行编码。
- 那么只有那些与未保留集中的字符不对应的字节才应该像 %HH 一样进行百分比编码, 其中 HH 是字节的十六进制值。
例如,字符串:François 将被编码为:Fran%C3%A7ois
Ç, ç (c-cedilla) 是拉丁字母。
保留字符
某些字符被保留或限制在 URL 中使用,因为它们可能(或可能不)被特定 URL scheme中的通用语法定义为分隔符。 例如,正斜杠 /
字符用于分隔 URL 的不同部分。
如果 URL 组件的数据包含与保留字符集冲突的字符,该保留字符集在 URL 方案中定义为分隔符,则冲突字符必须在形成 URL 之前进行百分比编码。 URL 中的保留字符是:
! |
# |
$ |
& |
' |
( |
) |
* |
+ |
, |
/ |
: |
; |
= |
? |
@ |
[ |
] |
%21 |
%23 |
%24 |
%26 |
%27 |
%28 |
%29 |
%2A |
%2B |
%2C |
%2F |
%3A |
%3B |
%3D |
%3F |
%40 |
%5B |
%5D |
无保留字符
URL 中允许但没有保留用途的字符称为未保留字符。 这些包括大写和小写字母、十进制数字、连字符、句点、下划线和波浪号。 下表列出了 URL 中的所有未保留字符:
A |
B |
C |
D |
E |
F |
G |
H |
I |
J |
K |
L |
M |
N |
O |
P |
Q |
R |
S |
T |
U |
V |
W |
X |
Y |
Z |
a |
b |
c |
d |
e |
f |
g |
h |
i |
j |
k |
l |
m |
n |
o |
p |
q |
r |
s |
t |
u |
v |
w |
x |
y |
z |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
- |
_ |
. |
~ |
URL 编码转换器
以下转换器根据 RFC 3986 对字符进行编码和解码。
输入一些字符并单击编码或解码按钮以查看输出。
Advertisements