簡體   English   中英

如何從 Python 中的二進制數據中去除第一個和最后一個字節

[英]How to strip first and last byte from binary data in Python

我有一個 Python 程序從 UDP 套接字接收數據。 Python 正在將其作為二進制數據讀取。

每個數據報應以 STX 字符 (0x02) 開始,以 ETX 字符 (0x03) 結束。 我希望我的代碼測試第一個和最后一個字符,如果它們正確,則在將數據的 rest 從我的 function 中傳遞出來之前剝離它們,以便通過調用 ZC1C425268E687A945D1AB5074C1 進一步處理。

我相信我可以用data[0]測試第一個字符。

如何獲取數據的長度以測試最后一個字符?

如何獲取數據的“子字符串”?

我很想將它解碼為一個字符串,但懷疑這涉及額外的開銷,無論如何,作為一個 Python 新手,我不知道怎么做。

據我了解,您需要對數據進行切片。
因此,您可以使用data[1:]從第二個字符開始切片,直到最后一個字符,但不包括使用data[:-1]
作為兩者的組合,您可以使用

data[1:-1]

您可以使用len() function 來獲取長度。

len(data)

您可以通過以下方式獲取最后一個字節:

data[-1]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM