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

时间:2016-03-02 16:18:01

标签: python 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'

2 个答案:

答案 0 :(得分:2)

看起来您正在阅读二进制数据,而不是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))

答案 1 :(得分:0)

<form name="userForm"> <input type="text" name="username" ng-model="user.username" ng-minlength="3" ng-maxlength="8" required> <div ng-messages="userForm.name.$error"> <p ng-message="minlength">Your name is too short.</p> <p ng-message="maxlength">Your name is too long.</p> <p ng-message="required">Your name is required.</p> </div> </form> digits 的字符串表示形式(例如int())转换为整数。如果要将单字符字节字符串转换为整数,可以使用'1'。但是,如果您想一次转换多个字节,可以使用ord()模块,特别是struct