简介
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'