python 学习 D6
Posted HoneyCY
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 学习 D6相关的知识,希望对你有一定的参考价值。
编码二
1,不同的密码本之间的二进制是不能互相识别的,容易报错或者产生乱码。
2,计算机的文件存储和传输都是0101010(gbk,utf-8,ascii,gb2312等)不能是unicode。
大前提:python3x,编码。
bytes :str 拥有的所有方法,bytes都有。
python3x 内存中的编码方式是unicode
英文:
str: 表现形式 name = "alex"
内部编码:unicode
bytes:表现形式:name1 = b"alex"
内部编码:非unicode
中文:
str: 表现形式 name = "中国"
内部编码:unicode
bytes:表现形式:b‘\xe4\xb8\xad\xe5\x9b\xbd‘
内部编码:非unicode
name ="中国".encode(‘utf-8‘) name1 =b‘alex‘ print(name,type(name)) print(name1,type(name1)) b‘\xe4\xb8\xad\xe5\x9b\xbd‘ <class ‘bytes‘> b‘alex‘ <class ‘bytes‘>
# name = "alex" # name1 = b"alex" # print(name,type(name)) # print(name1,type(name1)) alex <class ‘str‘> b‘alex‘ <class ‘bytes‘>
# str ---> bytes
s1 = ‘中国‘
b1 = s1.encode(‘utf-8‘) # encode 编码
b2 = s1.encode(‘gbk‘)
print(b1)
print(b2)
s2 = b1.decode(‘utf-8‘) # decode 解码
print(s2)
b‘\xe4\xb8\xad\xe5\x9b\xbd‘
b‘\xd6\xd0\xb9\xfa‘
中国
# utf-8 bytes ---> gbk bytes
s1 = b"alex" print(s1.capitalize()) b‘Alex‘
以上是关于python 学习 D6的主要内容,如果未能解决你的问题,请参考以下文章