编码及小技巧
编码:
ascii码:只有英文,8个字节一个字符
Unicode码:中英文均32位
utf-8 英文 8字节
中文 24字节
gbk编码:英文8字节,中文16字节;
1、各个编码之间的二进制是不能相互识别,会产生乱码。
2、文件的储存,传输不能是Unicode;
对于python3:
str在内存中是用Unicode编码;
bytes数据类型:类str数据类型,但编码非Unicode;
3、用encode,可将str-->bytes 编码;用decode,可将bytes---->str 解码
s = '二哥'
b = s.encode('utf-8')
print(b)
s1 = b.decode('utf-8')
print(s1)
s = 'abf'
b = s.encode('utf-8')
print(b)
s1 = b.decode('gbk')
print(s1)
4、用decode,可将
小知识汇总:
1、Python2和Python3区别:
Python2 Python3
print可以不加括号,print 'a' 必须加括号
range;xrange()生成器 只有range
raw_input input
默认 默认utf-8编码
2、= == is区别:
=表示赋值;==比较值是否相等;is比较内存地址是否相同,即ID()
3、for i in 字典或列表:
当循环体内删除字典或列表元素时会报错,因为字典,列表一直在变化;