我正在嘗試使用此示例調試較大的音頻項目。我加載一個mp3文件,base64編碼它,解碼,然後保存到磁盤。只有生成的文件是不是都在那裏,即使以base64版本看起來是一樣的:將base64編碼文件保存到磁盤時丟失數據
import base64
with open('/Users/Public/Music/119-the_killers-spaceman.mp3') as f:
mp3 = f.read()
>>> len(mp3)
1435
>>> b64 = base64.b64encode(mp3)
>>> len(b64)
1916 #I expect it to become 25% larger when encoded.
>>> MP3 = base64.b64decode(b64)
>>> f.close()
>>> F = open('test.mp3','wb')
>>> F.write(MP3)
>>> F.close()
>>> len(MP3)
1435
數據是一樣的:
>>> MP3[:100]
'ID3\x03\x00\x00\x00\x00\x05GTRCK\x00\x00\x00\x06\x00\x00\x0019/24TIT2\x00\x00\x00\t\x00\x00\x00SpacemanTPE1\x00\x00\x00\x0c\x00\x00\x00The KillersTALB\x00\x00\x00\x1b\x00\x00\x00Funky New Year 2009: I'
>>> mp3[:100]
'ID3\x03\x00\x00\x00\x00\x05GTRCK\x00\x00\x00\x06\x00\x00\x0019/24TIT2\x00\x00\x00\t\x00\x00\x00SpacemanTPE1\x00\x00\x00\x0c\x00\x00\x00The KillersTALB\x00\x00\x00\x1b\x00\x00\x00Funky New Year 2009: I'
實際文件:2K,不2.5MB。
我在做什麼錯?並希望這可以解釋爲什麼我保存發送到我的服務器的base64編碼的WAV文件的問題。
的問題是,你的初始'read'只返回的第一個1435個字節2.5MB的文件。 –
我該如何解決這個問題? –