bytes和str的区别与转换


bytes和str的区别


1.英文 b'alex'的表现形式与str没什么两样 2.中文 b'xe4xb8xad'这是一个汉字在utf-8的bytes表现形式 3.中文 b'xcexd2'这是一个汉字在gbk的bytes 的表现形式



bytes与字符串的相互转换


s
= ''
s1 = s.encode('gbk') #针对中文str '我' 以GBK 进行编码 print(s1) # '我' GBK 是两个bytes,所以编码为 b'xcexd2' s2 = s1.decode('gbk') #也就是 print(b'xcexd2'.decode('gbk'))进行解码 # 针对b'xcexd2 进行以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 = ['1','2','3'] s = ''.join(lst) #将列表转换成str print(type(s)) s = 'alex' s1 = s.split(' ') #将str转换成list print(s1)