str与bytes数据类型
2018-12-18 本文已影响0人
zy小太阳
字符串转二进制
str.encode()
(括号内不写默认为utf-8)
二进制转字符串
str1 = str.encode()
str1.decode()
b = bytearray(str.encode())
print(b) <--> b.decode
bytearray bytearray和bytes不一样的地方在于,bytearray是可变的。
eg:
In [26]: str1
Out[26]: '人生苦短,我用Python!'In [28]: b1=bytearray(str1.encode())
In [29]: b1
Out[29]: bytearray(b'\xe4\xba\xba\xe7\x94\x9f\xe8\x8b\xa6\xe7\x9f\xad\xef
\xbc\x8c\xe6\x88\x91\xe7\x94\xa8Python!')In [30]: b1.decode()
Out[30]: '人生苦短,我用Python!'In [31]: b1[:6]=bytearray('生命'.encode())
In [32]: b1
Out[32]: bytearray(b'\xe7\x94\x9f\xe5\x91\xbd\xe8\x8b\xa6\xe7\x9f\xad\xef
\xbc\x8c\xe6\x88\x91\xe7\x94\xa8Python!')In [33]: b1.decode()
Out[33]: '生命苦短,我用Python!
- python2中:对于字符串和bytes类型的数据没有明显的区分
- python3中:对于字符串和bytes类型的数据有明显的区分
将bytes类型的数据转换为字符串使用decode(‘编码类型’)
将字符串转换为bytes类型的数据使用encode(‘编码类型’) - bytearray和bytes类型的数据是有区别的:前者可变,后者不可变