Я присваиваю значение переменной 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]
строки. Кто-либо может сказать мне, как я должен интерпретировать, это представляет в виде строки? Я могу преобразовать их в целое число?
Интерактивный интерпретатор повторяют такие невыполнимые символы. Строка содержит два байта, 0x1e и 0x00. Вы можете преобразовать его в целое число (размер Word) с struct.unpack ("
Это двухбайтовая строка:
>>> x='\x1e\x00'
>>> map(ord, list(x))
[30, 0]
>>> [ord(i) for i in x]
[30, 0]
Эти строки представляют собой байты. Думаю, их можно превратить в целое число с помощью пакета struct, который позволяет интерпретировать строки из байтов.