URLEncode

作者: guideEmotion | 来源:发表于2019-06-23 16:28 被阅读0次

转换规则

urlencode:返回字符串,此字符串中除了-_.之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,空格则编码为加号(+
按照每个字符对应的字符编码,不是符合我们范围的,统统的转化为%的形式也就是了。自然也是16进制的形式。

那哪些字符是需要转化的呢?

  1. ASCII 的控制字符

这些字符都是不可打印的,自然需要进行转化。

  1. 一些非ASCII字符

这些字符自然是非法的字符范围。转化也是理所当然的了。

  1. 一些保留字符

很明显最常见的就是“&”了,这个如果出现在url中了,那你认为是url中的一个字符呢,还是特殊的参数分割用的呢?

  1. 就是一些不安全的字符了。
    例如:空格。为了防止引起歧义,需要被转化为“+”。

和编码无关

通过urlencode的转化规则和目的,我们也很容易的看出,urleocode是基于字符编码的。同样的一个汉字,不同的编码类型,肯定对应不同的urleocode的串。gbk编码的有gbk的encode结果。

apache等服务器,接受到字符串后,可以进行decode,但是还是无法解决编码的问题。编码问题,还是需要靠约定或者字符编码的判断解决。

因此,urleocode只是为了url中一些非ascii字符,可以正确无误的被传输,至于使用哪种编码,就不是eocode所关心和解决的问题了。

编码问题,不是urlencode所要解决的。

比如


image.png
image.png

结论

对于要转换的字符,是先根据编码格式转成对应的字节,然后转成16进制

参考

  1. https://blog.csdn.net/u013833031/article/details/78828539

相关文章

  • 技巧性代码

    1. 函数调用function run_urlencode($input, $urlencode = false)...

  • get和post

    urllib.parse.urlencode() 编码工作使用urllib.parse模块下的urlencode(...

  • UrlEncode

    using System.Text;using System.Collections;public static ...

  • urlencode

    这个方法可以将字典对象转化为查询字符串 实例

  • URLEncode

    转换规则 urlencode:返回字符串,此字符串中除了-_.之外的所有非字母数字字符都将被替换成百分号(%)后跟...

  • js编译、解析Urlencode

    js编译、解析Urlencode

  • Swift 笔记

    1.URLDecode,URLEncode

  • 中文UrlEncode

    (NSString *)urlencode:(NSString *)urlStr{NSMutableString ...

  • python使用urlencode与urldecode get和

    一、urlencode urllib库里面有个urlencode函数,可以把key-value这样的键值对转换成我...

  • URLEncode和URLDecode

    URLEncode extension String {// URL Decodefunc URLDecode()...

网友评论

      本文标题:URLEncode

      本文链接:https://www.haomeiwen.com/subject/vcxwqctx.html