2024-05-20 22:39:38 发布
网友
我按以下方式将值赋给变量x:
x
import wave w = wave.open('/usr/share/sounds/ekiga/voicemail.wav', 'r') x = w.readframes(1)
当我输入x时,我得到:
'\x1e\x00'
所以x得到了一个值。但那是什么?是十六进制的吗?type(x)和type(x[0])告诉我x和x[0]是一个字符串。有谁能告诉我怎么解释这些弦吗?我能把它们转换成整数吗?
type(x)
type(x[0])
x[0]
交互式解释器会像这样回显不可打印的字符。字符串包含两个字节,0x1E和0x00。您可以使用struct.unpack("<H", x)(小尾数!)将其转换为(字大小)整数。
struct.unpack("<H", x)
它是一个双字节字符串:
>>> x='\x1e\x00' >>> map(ord, list(x)) [30, 0] >>> [ord(i) for i in x] [30, 0]
此字符串表示字节。我想您可以用struct包将它们转换成整数,这样就可以解释字节字符串。
交互式解释器会像这样回显不可打印的字符。字符串包含两个字节,0x1E和0x00。您可以使用
struct.unpack("<H", x)
(小尾数!)将其转换为(字大小)整数。它是一个双字节字符串:
此字符串表示字节。我想您可以用struct包将它们转换成整数,这样就可以解释字节字符串。
相关问题 更多 >
编程相关推荐