📅  最后修改于: 2023-12-03 15:33:58.484000             🧑  作者: Mango
在Python中,bytes()
是一种不可变的数据类型,用于表示二进制数据。它类似于字符串类型,但是每个元素的值必须在0-255范围内,即一个字节。在处理网络协议、加密算法等场景中,bytes()
类型非常有用。
可以用以下方式创建bytes()
对象:
# 从字符串创建
b = bytes('hello', encoding='utf-8')
print(b) # b'hello'
# 从字节数组创建
b = bytes([10, 20, 30])
print(b) # b'\n\x14\x1e'
# 从十六进制字符串创建
b = bytes.fromhex('2Ef0 F1f2 ')
print(b) # b'.\xf0\xf1\xf2'
bytes()
对象提供了一些常用的方法,如下所示:
# 获取长度
b = bytes([10, 20, 30])
print(len(b)) # 3
# 获取元素
b = bytes([10, 20, 30])
print(b[1]) # 20
# 转换为字符串
b = bytes('hello', encoding='utf-8')
print(str(b, encoding='utf-8')) # hello
# 十六进制表示
b = bytes([10, 20, 30])
print(b.hex()) # 0a141e
# 替换元素
b = bytearray(b'hello')
b[1] = 101
print(b) # bytearray(b'heelo')
bytes()
和bytearray()
之间的区别在于前者是不可变类型,后者是可变类型;bytes()
类型被称作str()
,bytearray()
类型被称作bytes()
。总之,bytes()
类型是Python中一个非常重要的数据类型,具有广泛的应用场景,掌握它的用法非常有必要。