Python二进制序列类型

字节的ByteArray用于在python操纵的二进制数据。这些字节和字节档受名为memoryview的缓冲区协议支持。memoryview可以访问其他二进制对象的内存,而无需复制实际数据。

字节文字可以由这些选项形成。

  • b'这是单引号的bytea'

  • b“另一组带双引号的字节”

  • b'''使用三个单引号的字节'''或b“”“使用三个双引号的字节”“”

与字节和字节数组有关的一些方法是-

fromhex方法(字符串)

fromhex()方法返回字节对象。它使用一个字符串,其中每个字节包含两个十六进制数字。在这种情况下,ASCII空格将被忽略。

方法 hex()

hex()方法用于从每个字节返回两个十六进制数字。

方法replace(byte,new_byte)

replace()方法用于用新字节替换字节。

方法计数(sub [,start [,end]])

此函数返回子字符串的非重叠出现。它将在开始和结束之间签入。

方法find(sub [,start [,end]])

find()方法可以找到子字符串的第一次出现。如果搜索成功,它将返回索引,否则将返回-1。

方法分区(9月)

分区方法用于通过使用分隔符来分隔字符串。它将创建不同分区的列表。

方法memoryview(obj)

memoryview()方法用于返回给定参数的内存视图对象。内存视图是表达Python缓冲区协议的安全方法。它允许访问对象的内部缓冲区。

范例程式码

hexStr = bytes.fromhex('A2f7 4509')
print(hexStr)
byteString = b'\xa2\xf7E\t'
print(byteString.hex())

bArray1 = b"XYZ"
bArray2 = bArray1.replace(b"X", b"P")
print(bArray2)

byteArray1 = b'ABBACACBBACA'
print(byteArray1.count(b'AC'))

print(byteArray1.find(b'CA'))
bArr = b'Mumbai,Kolkata,Delhi,Hyderabad'
partList = bArr.partition(b',')
print(partList)

myByteArray = bytearray('String', 'UTF-8')
memView = memoryview(myByteArray)

print(memView[2]) #ASCII of 'r'
print(bytes(memView[1:5]))

输出结果

b'\xa2\xf7E\t'
a2f74509
b'PYZ'
3
4
(b'Mumbai', b',', b'Kolkata,Delhi,Hyderabad')
114
b'trin'