Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将字节转换为Int时出错(Python 2.7)_Python_Python 2.7 - Fatal编程技术网

将字节转换为Int时出错(Python 2.7)

将字节转换为Int时出错(Python 2.7),python,python-2.7,Python,Python 2.7,我使用Python2.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' int()。如果要通过TestRing将一个字符转换为整数,可以使用ord()。但是,如

我使用Python2.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'

int()。如果要通过TestRing将一个字符转换为整数,可以使用
ord()
。但是,如果您想一次转换多个字节,可以使用
struct
模块,特别是
struct.unpack

它看起来像是在读取二进制数据,而不是ASCII数字,因此您需要一种不同的转换方式:转换

或者,您可以一次全部阅读:

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

B和H的意义是什么?@jrs11这些是无符号字节和无符号半字(2字节)的格式代码。如果需要签名,请使用小写字母
'b'
'h'
。完整的代码表在我链接的文档中。我的新错误是:“解包需要长度为1的字符串参数”@jrs11
read(1)
应返回长度为1的字符串,除非您在文件末尾。@jrs11我帮不了您。查看
read
调用返回的内容,并执行适当的操作。
packetID, packetSS, packetFB = struct.unpack('BHH', holter.read(5))