python 读一个字节二进制(原数字用C char类型写入 )现在要读出并且转化为int 类型在python里

python 读一个字节二进制(原数字用C char类型写入 )现在要读出并且转化为int 类型在python里 就是data = struct.unpack("c",data)
data = data[0]
现在的 data 里好像是个“\x01' 我就是想吧他转为整形 但是 data 必须用C读出的 data 里只有一个字节 求高手 帮忙'

第1个回答  2012-06-09
一般用pack,unpack比较好。不过干吗用一个名字呢?用c当然得到char,也就是作为string,干吗不用b,B之类的呢。用imkow的不太好。其实unpack是其作用的。只是你的格式化字符有问题。
d=struct.unpack("b",data[0])[0]

下面是字符和unpack出来的数据类型的关系。
x pad byte no value
c char string of length 1
b signed char integer
B unsigned char integer
? _Bool bool (1)
h short integer
H unsigned short integer
i int integer
I unsigned int integer or long
l long integer
L unsigned long long
q long long long (2)
Q unsigned long long long (2)
f float float
d double float
s char[] string
p char[] string
P void * long本回答被提问者和网友采纳
第2个回答  2012-06-09
如果确定一个字节可以ord(data)得到一个整型值。

另外,你这个unpack没有实际起作用,原输入应该是字节串,不用unpack
直接list(data)得到一串整型数组
[97, 98, 99, 100, 101, 102]
相似回答