Python二进制序列类型
在Python中,字节和字节数组用于操作二进制数据。这些字节和字节数组由名为memoryview的缓冲区协议支持。memoryview可以访问其他二进制对象的内存,而无需复制实际数据。
字节字面量可以通过以下几种方式构成。
b‘This is bytea with single quote’
b“Another set of bytes with double quotes”
b‘’’Bytes using three single quotes’’’ 或 b“””Bytes using three double quotes”””
一些与字节和字节数组相关的常用方法:
fromhex(string) 方法
fromhex() 方法返回字节对象。它接受一个字符串,其中每个字节包含两个十六进制数字。在这种情况下,ASCII空格将被忽略。
hex() 方法
hex() 方法用于从每个字节返回两个十六进制数字。
replace(byte, new_byte) 方法
replace() 方法用于将字节替换为新的字节。
count(sub[, start[, end]]) 方法
此函数返回子串的不重叠出现次数。它将在start和end之间进行检查。
find(sub[, start[, end]]) 方法
find() 方法可以找到子串的第一次出现。如果搜索成功,它将返回索引,否则返回-1。
partition(sep) 方法
partition方法使用分隔符分割字符串。它将创建一个包含不同分区的列表。
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'
广告