编码
ASCII 编码
两位十六进制,八位二进制表示一个ASCII
解码中:如果ascii码大于127,那么是最高位为1,要减去128
中文编码
扩展ASCII
包含ASCII已有的128字符,又新增128个字符,非国际标准
GB2312编码
两个字节表示一个汉字
两个字节表示全角字符
ASCII字符称为半角字符
GBK编码
在GB2312基础上新加20000个字符
GB18030编码
在GBK的基础上新增少数民族的字符
BIG5码
台湾和香港使用的另外一套编码
Base64
长度是4的倍数
Base64要求把3个8位字节转化为4个6位的字节,之后在6位的前面补充两个0形成8位一个字节的形式。
3个字符进行Base64转换编码后,最后变成了4个字符
在计算字节数时,会直接使用总长度除以3,如果余数为1则会直接在最后补一个=
,如果余数为2则补两个=
。
Base64特点就是末尾有一个或者两个=
Base家族
有 <>==等 可能是base85
URL编码
URL编码特点就是有多个%
Unicode编码
ISO,国际标准 世界通用
Unicode编码特点是有多个\uxxxx &#x
python3中的ord得到的是Unicode编码
Unicode表示方式:
UTF编码
UTF编码,Unicode的转换格式,规定如何存储和传输Unicode字符
UTF-8,UTF-16.UTF-32
UTF-8编码
UTF-8是一种可变长的编码方式,使用1-6个字节表示一个符号
- 英文字母被编码成1个字节,汉字通常3个字节,生僻字符才会被编码到4-6个字节
a.encode('utf-8')
bcode('utf-8')