简介
str是采用Unicode编码方式的序列,主要用于显示
bytes是字节序列,主要用于网络和文件传输
bytearray和bytes是一样的,只是它是可变的,它们的关系和str与list类似
str和bytes的相互转化就是编码和解码
str转bytes
使用函数encode
- In [2]: s1 = "123abc456ffff"
 - In [4]: b = s1.encode("utf-8")
 - In [5]: print(b)
 - b'123abc456ffff'
 - In [6]:
 
bytes转str
使用函数decode
- In [6]: s2 = b.decode("utf-8")
 - In [7]: print(s2)
 - 123abc456ffff
 - In [8]:
 
如果是定义一个bytes:
- b = b'123abc456ffff'
 
bytes和str转化为bytearray
bytes和str转化为bytearray都依赖于bytearray函数
bytes --> bytearray
- In [8]: b = b'dafafasfasfsad22136436'
 - In [10]: s1 = bytearray(b)
 - In [11]: print(s1)
 - bytearray(b'dafafasfasfsad22136436')
 - In [12]:
 
str–>bytearray
- In [8]: b = 'dafafasfasfsad22136436'
 - In [10]: s1 = bytearray(b)
 - In [11]: print(s1)
 - bytearray(b'dafafasfasfsad22136436')
 - In [12]:
 
hex字符串转为bytearray
- In [12]: hexs = "1289"
 - In [13]: br = bytearray.fromhex(hexs)
 - In [14]: print(br)
 - bytearray(b'\x12\x89')
 - In [15]:
 
bytearray转为str和bytes
- byarray=bytearray("aabbcc",encoding='utf-8')
 - str=byarray.decode('utf-8')
 - bytes=bytes(byarray)
 - print (byarray)
 - bytearray(b'aabbcc')
 - print(str)
 - aabbcc
 - print(bytes)
 - b'aabbcc'
 
