📜  Python bytes()(1)

📅  最后修改于: 2023-12-03 15:33:58.484000             🧑  作者: Mango

Python中的bytes()

在Python中,bytes()是一种不可变的数据类型,用于表示二进制数据。它类似于字符串类型,但是每个元素的值必须在0-255范围内,即一个字节。在处理网络协议、加密算法等场景中,bytes()类型非常有用。

创建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对象的常用方法

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()之间的区别在于前者是不可变类型,后者是可变类型;
  • 在Python 2.x中,bytes()类型被称作str()bytearray()类型被称作bytes()

总之,bytes()类型是Python中一个非常重要的数据类型,具有广泛的应用场景,掌握它的用法非常有必要。