zoukankan      html  css  js  c++  java
  • URL encoding(URL编码)

    URL encoding(URL编码),也称作百分号编码(Percent-encoding),是指特定上下文的统一资源定位符(URL)编码机制
    UrlEncode:将字符串以URL编码
    返回值:字符串
    函数种类:编码处理
    编码原理:
    将需要转码的字符转为16进制,然后从右到左,取4位(不足4位直接处理),每2位做一位,前面加上%,编码成%XY格式。
    URL encode的实质就是正确的使用percent encode(百分号编码)
    比如:中ASCII码是-10544,对应的16进制是FFFFFFFFFFFFD6D0,那么urlencode编码结果是:%D6%D0
    目前编码原理:
    在WWW最初时,做法是将字符流转换成字节流,按照ASCII字符与字节一一对应可相互转换,使用对应ASCII字符的整型值作为%的后两个16进制字符,构成percent编码。后来出现了多种percent编码生成方法,导致了URI的难以识别。
    目前做法,指定或系统默认的使用UTF8转成字节流,每个字节编成一个percent编码,例如:中文“网易”的URL编码为%e7%bd%91%e6%98%93,而其UTF8字节流为e7 bd 91 e6 93,可以看出其一一对应关系

    原则:在URI的构成字符中,最安全的方案是正确使用“保留字符” 和 “非保留字符”的并集
    保留字符: 在URL中起到职能型的字符,比如 & ,? 。所以被URL规则给“保留”了。
    保留字(Reserved):! * ' () ; : @ & = + $ , / ? # []
    非保留字(Unreserved):0到9的数字 - _ . ~  a到z  A到Z

    遵循原则:
    1 不要对Unreserved(非保留字)做percent encode(百分号编码)
    2 除了保留字和非保留字之外的所有字符,必须进行percent encode(百分号编码)
    3 当保留字符不用于URL分隔符,而是用于其他的位置,比如query后面的value,要对这时用到的保留字做percent encode(百分号编码)

  • 相关阅读:
    剑指offer-二维数组中的查找
    TF-IDF(term frequency–inverse document frequency)
    Java实现中文字符串的排序功能
    当前课程
    【R】资源整理
    CentOS相关
    【转】Setting up SDL Extension Libraries on MinGW
    【转】Setting up SDL Extension Libraries on Visual Studio 2010 Ultimate
    【转】Setting up SDL Extension Libraries on Code::Blocks 12.11
    【转】Setting up SDL Extension Libraries on Visual Studio 2019 Community
  • 原文地址:https://www.cnblogs.com/kxm87/p/9276773.html
Copyright © 2011-2022 走看看