美文网首页
5-2 如何处理二进制文件?

5-2 如何处理二进制文件?

作者: Diolog | 来源:发表于2019-02-10 20:38 被阅读0次

    实际案例:

    • wav是一种音频文件的格式,音频文件为二进制文件.
    • wav文件由头部信息和音频采样数据构成.前44个字节为头部信息,包含声道数、采样频率,PCM位宽等等,后面是音频采样数据.
    • 使用python,分析一个wav文件头部信息,处理音频数据.
    f = open('demo.wav','rb')
    info = f.read(44)
    
    import struct
    struct.unpack('h','\x01')
    struct.unpack('h',info[22:24])
    
    import array
    f.seek(0,2)
    n = (f.tell() - 44) / 2
    buf = array.array('h',(0 for _ in range(n))
    f.seek(44)
    f.readinto(buf)
    
    for i in range(n):buf[i] /= 8
    f2 = open('demo2.wav','wb')
    f2.write(info)
    buf.tofile(f2)
    f2.close()
    

    相关文章

      网友评论

          本文标题:5-2 如何处理二进制文件?

          本文链接:https://www.haomeiwen.com/subject/nxrxeqtx.html