python笔记6—day6

别等时光非礼了梦想. 提交于 2019-11-27 23:40:44

知识点

ascii A : 00000010 8位 一个字节

unicode A : 00000000 00000001 00000010 00000100 32位 四个字节
    中:00000000 00000001 00000010 00000110 32位 四个字节


utf-8 A : 00100000 8位 一个字节
  中 : 00000001 00000010 00000110 24位 三个字节


gbk A : 00000110 8位 一个字节
  中 : 00000010 00000110 16位 两个字节

1,各个编码之间的二进制,是不能互相识别的,会产生乱码。
2,文件的储存,传输,不能是unicode(只能是utf-8 utf-16 gbk,gb2312,asciid等)

python3.0版本之后:
str 在内存中是用unicode编码。
bytes类型
对于英文:
str :表现形式:s = 'alex'
编码方式: 010101010 unicode
bytes :表现形式:s = b'alex'
编码方式: 000101010 utf-8 gbk。。。。

对于中文:
str :表现形式:s = '中国'
编码方式: 010101010 unicode
bytes :表现形式:s = b'x\e91\e91\e01\e21\e31\e32'
编码方式: 000101010 utf-8 gbk。。。。

# encode 编码,如何将str --> bytes, ()
s1 = 'alex'
s11 = s1.encode('utf-8')
s12 = s1.encode('gbk')
print(s11,s12)
s2 = '中国'
s21 = s2.encode('utf-8')
s22 = s2.encode('gbk')
print(s21,s22)

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!