bytes和str的区别与转换

时间:2022-11-28 05:39:11
bytes和str的区别

1.英文 b'alex'的表现形式与str没什么两样
2.中文 b'\xe4\xb8\xad'这是一个汉字在utf-8的bytes表现形式
3.中文 b'\xce\xd2'这是一个汉字在gbk的bytes 的表现形式 bytes与字符串的相互转换 s = '我'
s1 = s.encode('gbk') #针对中文str '我' 以GBK 进行编码
print(s1) # '我' GBK 是两个bytes,所以编码为 b'\xce\xd2'
s2 = s1.decode('gbk') #也就是 print(b'\xce\xd2'.decode('gbk'))进行解码
# 针对b'\xce\xd2 进行以GBK进行解码
print(s2) # 解码后输出str我 s = 'alex'
s1 = s.encode('utf-8') ##针对英文 'alex 'str 以utf - 8 进行编码
print(s1) # 'alex' 在utf-8 编码后为 b'alex' 4个英文单词为4个bytes
s2 = s1.decode('utf-8') #也就是print(b'alex'.decode(utf-8))
# 针对b'alex'进行一utf-8进行解码
print(s2) #解码后输出str alex lst = ['','','']
s = ''.join(lst) #将列表转换成str
print(type(s)) s = 'alex'
s1 = s.split(' ') #将str转换成list
print(s1)