繁体   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