簡體   English   中英

將字節轉換為Int時出錯(Python 2.7)

[英]Error Converting Bytes to Int (Python 2.7)

我正在Python 2.7中工作,並且正在讀取字節數據(這是一個.ecg文件),但是我需要將其轉換為整數值。

packetID = int(holter.read(1), 2)
packetSS = int(holter.read(2), 2)
packetFB = int(holter.read(2), 2)

這將返回錯誤

invalid literal for int() with base 2: '\x01'

看起來您正在讀取二進制數據,而不是ASCII數字,因此您需要一種不同的轉換方式: struct module

import struct
packetID = struct.unpack('B', holter.read(1))[0]
packetSS = struct.unpack('H', holter.read(2))[0]

另外,您可以一次閱讀所有內容:

packetID, packetSS, packetFB = struct.unpack('BHH', holter.read(5))

int()數字的字符串表示形式(例如'1' int()轉換為整數。 如果要將一個字符的字符串轉換為整數,可以使用ord() 但是,如果您想一次轉換多個字節,則可以使用struct模塊,特別是struct.unpack

暫無
暫無

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

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