[英]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.