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'
廣告
資料結構
網路
關係資料庫管理系統(RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP