数字字母,什么编码url参数(url字符编码)

数字字母,什么编码url参数?

urllib 库中的 quote?
在 Python2.x 中的用法是:

Python3.x 中是

按照标准, URL 只允许一部分 ASCII 字符(数字字母和部分符号),其他的字符(如汉字)是不符合 URL 标准的。
所以 URL 中使用其他字符就需要进行 URL 编码。

URL 中传参数的部分(query String),格式是:
假如你的 name 或者 value 值中有『&』或者『=』等符号,就当然会有问题。所以URL中的参数字符串也需要把『&=』等符号进行编码。

URL编码的方式是把需要编码的字符转化为 %xx 的形式。通常 URL 编码是基于 UTF-8 的(当然这和浏览器平台有关)。
例子:
比如『我』,unicode 为 0x6211, UTF-8 编码为 0xE6 0x88 0x91,URL 编码就是

在 JavaScript 中,提供了 encodeURI 和 encodeURIComponent 两种方法对 URL 进行编码;
Python 的 urllib 库中提供了 quote 和 quote_plus 两种方法。
因为是针对不同场景设计,以上四种方法编码的范围均不相同,比如 quote 除了 -._/09AZaz ,都会进行编码。quote_plus 比 quote 『更进』一些,它还会编码 /

urllib.quote 使用参考:

20.5. urllib

延伸阅读

url加密和解密方案?

package day11.about_url_encoder;

import java.io.UnsupportedEncodingException;

import java.net.URLDecoder;

import java.net.URLEncoder;

public class URLEncoder_URLDecoder_Demo {

public static void main(String[] args) throws UnsupportedEncodingException {

// URLEncoder类:URL的加密类

String str = “高级”;

// gbk的编码两位一组:所以这儿有四组百分号

// str = URLEncoder.encode(str, “gbk”); // %B4%AB%D6%C7

// utf-8的编码三位一组:所以这里有六组百分号

str = URLEncoder.encode(str, “utf-8”); // %E4%BC%A0%E6%99%BA

System.out.println(str);

str = URLDecoder.decode(str, “utf-8”);

System.out.println(str);

// 编码对应:encode

// 解码对应:decode

/*

* 浏览器进行数据的传递和接收都要通过URLDecoder进行编码,解码

* 对应的编码是由html界面所指定的;

*

* 加密和解密构成了基础的会话;

*

* URLDecoder不能解析中文

*

*/

}

}

URL是啥意思?

URL是统一资源定位系统,英文全称为uniform resource locator,是因特网的万维网服务程序上用于指定信息位置的表示方法。它最初是由蒂姆·伯纳斯·李发明用来作为万维网的地址。现在它已经被万维网联盟编制为互联网标准RFC1738。

URL语法

URL通常被写成如下形式:<方案>:<方案描述部分>

一个URL包含了它使用的方案名称(<方案>), 其后紧跟一个冒号,然后是一个字符串(<方案描述部分>),这部分的解释由所使用的方案来决定。

方案名称由一串字符组成。小写字母“a”——“z”,数字,字符加号(“+”),句点(“.”)和连字号(“-”)都可以。方案名称中的大写字母和小写字母一样。(例如:视“HTTP”和“http”一样)。

字符编码

URL是由一串字符组成,这些字符可以是字母,数字和特殊符号。

没有相应的可显示字符:URL只能用US-ASCII字符编码集中的可显示字符表示。

不安全:空格字符,“<”,“>”,“#”,“%”,”{“, “}”, “|”, “”