字符编码格式
- ASCII(美国信息交换标准代码)127个字符,一个字符就是一个字节
- GB2312 2字节,16位
- Unicode,统一编码,2字节
- UTF-8.可变长编码。一个字符编成1-6个字节。一个英文字符一个字节,汉字三个字节,生僻字符4-6个字节。
计算机内存中的编码格式都是Unicode。我们看到的浏览器前端都是服务器转换Unicode字符为UTF-8格式传递过来的
字符集转化(python)
Unicode编码
其他编码(中国编码集合(GB2312,GBK,GB18030)和其他国家编码)
UTF8
编码转换,Unicode进行encode变成其他编码。其他编码进行decode变成unicode。
gb2312----<decode>----unicode----<encode>---utf8
- 注意
python3默认字符串就是unicode编码。 - 举例
encode()中参数表示unicode要转换成的编码---目的编码
decode()中参数表示要转换成unicode的源编码--源编码
>>> a = '你好'
>>> a
'你好'
>>> b = a.encode('utf8')
>>> b
b'\xe4\xbd\xa0\xe5\xa5\xbd'
>>> c = b.decode('utf8')
>>> c
'你好'
>>> c.encode('gb2312')
b'\xc4\xe3\xba\xc3'
>>>utf8编码格式
>>> a,b,c = bin(0xe4),bin(0xbd),bin(0xa0)
>>> a,b,c
('0b11100100', '0b10111101', '0b10100000')
>>>--------
>>>b = '闫'
>>> b.decode('gb2312')
u'\u95eb'