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'

更新於:2019年7月30日

3K+ 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.