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