我很想知道为什么'%20'被用作URL中的空格,特别是为什么使用%20以及为什么我们甚至首先需要它.
Ble*_*der 52
它被称为百分比编码.有些字符不能在URI中(例如#,因为它表示URL片段),所以它们用可以(#变成%23)的字符表示
这是同一篇文章的摘录:
当保留集中的字符("保留字符")在特定上下文中具有特殊含义("保留目的"),并且URI方案表明有必要将该字符用于其他目的时,则该字符必须进行百分比编码. 对保留字符进行编码的百分比涉及将字符转换为ASCII中对应的字节值,然后将该值表示为一对十六进制数字.然后在URI中使用以百分号("%")开头的数字作为转义字符,代替保留字符.(对于非ASCII字符,通常将其转换为UTF-8中的字节序列,然后每个字节值如上所示.)
空格字符的字符代码是32:
> ' '.charCodeAt(0)
32
Run Code Online (Sandbox Code Playgroud)
这是20基数16:
> ' '.charCodeAt(0).toString(16)
"20"
Run Code Online (Sandbox Code Playgroud)
在它前面加一个百分号然后就可以了%20.