标签:python code 直接 类型 一个 utf-16 转换 文件的 utf-8
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等),因为unicode占用空间过大。
str 在内存中是用unicode编码,不能够直接去储存和传输。
bytes类型:与str基本一致,只是编码方式不一样。
对于英文:
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。。。。
s1 = "alex"
s11 = s1.encode("utf-8")
s12 = s1.encode("GBK")
s2 = "中国"
s22 = s2.encode("utf-8")
s23 = s2.encode((‘GBK‘))
print(s11,s12,s22,s23)
标签:python code 直接 类型 一个 utf-16 转换 文件的 utf-8
原文地址:https://www.cnblogs.com/qukouxiaoxue/p/9536527.html