Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

Python Binary Sequence Types


ไบต์ และ ไบต์เรย์ ใช้เพื่อจัดการข้อมูลไบนารีใน python ไบต์และไบต์เหล่านี้ได้รับการสนับสนุนโดยโปรโตคอลบัฟเฟอร์ชื่อ memoryview . มุมมองหน่วยความจำสามารถเข้าถึงหน่วยความจำของวัตถุไบนารีอื่น ๆ โดยไม่ต้องคัดลอกข้อมูลจริง

ค่าไบต์สามารถเกิดขึ้นได้จากตัวเลือกเหล่านี้

  • b'นี่คือ bytea ด้วยเครื่องหมายคำพูดเดียว'

  • b“อีกชุดของไบต์ที่มีเครื่องหมายคำพูดคู่”

  • b‘’’Bytes โดยใช้เครื่องหมายคำพูดเดี่ยวสามตัว’’’ หรือ b“””ไบต์โดยใช้เครื่องหมายคำพูดคู่สามตัว”””

วิธีการบางอย่างที่เกี่ยวข้องกับไบต์และไบต์เรย์คือ −

วิธีการจากฐานสิบหก(สตริง)

fromhex() วิธีการส่งกลับวัตถุไบต์ ใช้สตริงที่แต่ละไบต์มีเลขฐานสิบหกสองหลัก ในกรณีนี้ ช่องว่าง ASCII จะถูกละเว้น

วิธี hex()

วิธีการ hex() ใช้เพื่อส่งคืนเลขฐานสิบหกสองหลักจากแต่ละไบต์

วิธีการแทนที่ (byte, new_byte)

วิธีการแทนที่ () ใช้เพื่อแทนที่ไบต์ด้วยไบต์ใหม่

วิธีการนับ(ย่อย[, เริ่มต้น[, สิ้นสุด]])

ฟังก์ชันนี้จะคืนค่าสตริงย่อยที่ไม่ทับซ้อนกัน มันจะเช็คอินระหว่างจุดเริ่มต้นและจุดสิ้นสุด

เมธอด find(sub[, start[, end]])

find() วิธีการสามารถค้นหาการเกิดขึ้นครั้งแรกของสตริงย่อย หากการค้นหาสำเร็จ ระบบจะส่งคืนดัชนี มิฉะนั้น จะคืนค่า -1

วิธีการแบ่งพาร์ติชั่น(ก.ย.)

วิธี 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'