Python知识学习21——bytes、bytearray和编码

(一)bytes和bytearray的对比

bytes是不可变的,而bytearray则是可变类型

(二)bytes类型

定义一个bytes类型:

bytes接收的是一个可迭代类型

1
2
3
4
5
6
7
8
9
10
11
$ bytes()
b''

$ bytes([1,2,3])
b'\x01\x02\x03'

$ bytes([97, 98, 99])
b'abc'

$ bytes(range(5))
b'\x00\x01\x02\x03\x04'

(三)编解码

1
2
# 将字符串编码为bytes对象
'123'.encode()

声明一个bytes类型的对象str,并使用默认编码utf-8将其解码为字符串:

1
2
3
$ str = b'\xe4\xb8\xad\xe5\x9b\xbd'
$ str.decode()
'中国'