编码二
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‘
原文地址:https://www.cnblogs.com/HoneyTYX/p/8992272.html
时间: 2024-11-14 12:57:50