编码

ascii
A:00000010 一个字符用一个字节,一个字节占8位

unicode

A:00000000 00000001 00000010 00000100 一个字符四个字节 32位
中:00000000 00000001 00000010 00000100 一个字符四个字节 32位

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

gbk
A:00100000 8位一个字节
中:00000001 00000010 16位2个字节

1.各个编码之间的二进制是不能互相转换的,否则会出现乱码
2.文件的储存和传输不能说unicode(只能是utf-8 utf-16 gbk gb2312 ascii等),因为unicode占用内存大

python3中的str在内存中是用unicode储存的。

py3:
str在内存中是用unicode编码
bytes类型:
对于英文:
str : 表现形式:s = "Break"
编码形式:01011021 unicode
bytes :表现形式: s = b"Break"
编码形式:01020645 utf-8 gbk.....
对于中文:
str : 表现形式:s = "中国"
编码形式:01023054 unicode
bytes:表现形式 s = b"x\e91\e91\e93\e47\e85\e69"
编码方式:10102302 utf-8 gbk
posted @ 2018-07-08 00:38  wBreak  阅读(97)  评论(0编辑  收藏  举报