Что возвращается wave.readframes?

Я присваиваю значение переменной 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] строки. Кто-либо может сказать мне, как я должен интерпретировать, это представляет в виде строки? Я могу преобразовать их в целое число?

10
задан SilentGhost 14 January 2010 в 11:03
поделиться

3 ответа

Интерактивный интерпретатор повторяют такие невыполнимые символы. Строка содержит два байта, 0x1e и 0x00. Вы можете преобразовать его в целое число (размер Word) с struct.unpack (" (маленький Endian!).

7
ответ дан 4 December 2019 в 02:26
поделиться

Это двухбайтовая строка:

>>> x='\x1e\x00'
>>> map(ord, list(x))
[30, 0]
>>> [ord(i) for i in x]
[30, 0]
1
ответ дан 4 December 2019 в 02:26
поделиться

Эти строки представляют собой байты. Думаю, их можно превратить в целое число с помощью пакета struct, который позволяет интерпретировать строки из байтов.

0
ответ дан 4 December 2019 в 02:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: