我想编辑一个.m4a文件(音频文件)中特定的数据行,但我不知道如何用Python做到。我知道有其他类似的主题,但当我在十六进制编辑器程序(例如HxD)中打开.m4a文件时,它给我不同于从我的Python脚本中获取的十六进制数据。术语让我有些困惑。我需要做的是使用Python读取文件并将其转换为我的十六进制编辑器使用的格式,替换数据,然后再将其转换回来并将其写入文件。我真不知道这是否可能,或者是否有更简单的方法来完成它。我还是Python新手,还在学习中。我只是需要有人指点我正确的方向。这样做的原因与我一直试图更改的文件元数据有关。
我的Python版本:Python 3.7.4
以下是涉及文件的链接:https://drive.google.com/file/d/1m8SpCLSyX265_I00MFT1IyltpTAvxntF/view?usp=sharing 我的代码:
以下是我需要编辑的行(来自我的十六进制编辑器)
我的文件在十六进制编辑器中的开头如下所示(使用HxD):
我的Python脚本返回的十六进制编码开头如下:
我的Python版本:Python 3.7.4
以下是涉及文件的链接:https://drive.google.com/file/d/1m8SpCLSyX265_I00MFT1IyltpTAvxntF/view?usp=sharing 我的代码:
with open(file, 'rb') as f:
content = f.read().hex()
print(content)
以下是我需要编辑的行(来自我的十六进制编辑器)
00 00 01 80 68 69 33 32
(文本翻译:你好32)
替换为:
00 00 00 00 68 69 33 32
我的文件在十六进制编辑器中的开头如下所示(使用HxD):
00 00 00 00 00 00 00 00 01 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 40 00 00 00 00 00 00 00 00 00 00 00 00 01 0C 60 6D 64 69 61 00 00 00 20 6D 64 68 64 00 00 00 00 D9 98 96 40 D9 B2 F7 52 00 00 AC 44 00 84 EC 00 00 00 00 00 00 00 00 22 68 64 6C 72 00 00 00 00 00 00 00 00 73 6F 75 6E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 0C 16 6D 69 6E 66 00 00 00 10 73 6D 68 64 00 00 00 00 00 00 00 00 00 00 00 24 64 69 6E 66 00 00 00 1C 64 72 65 66 00 00 00 00 00 00 00 01 00 00 00 0C 75 72 6C 20 00 00 00 01 00 01 0B DA 73 74 62 6C 00 00 80 76 73 74 73 64 00 00 00 00 00 00 00 01 00 00 80 66 6D 70 34 61 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 02 00 10 00 00 00 00 AC 44 00 00 00 00 00 33 65 73 64 73 00 00 00 00 03 80 80 80 22 00 00 00 04 80 80 80 14 40 15 00 18 00 00 04 82 90 00 03 E8 00 05 80 80 80 02 12 10 06 80 80 80 01 02 00 00 00
我的Python脚本返回的十六进制编码开头如下:
d5df0d0ef02daf279fd6b15fae5c6e0bc79bec22095ceeada5e77371afc8ee36f10773b1b2c06b1b1ee4e5cccbf67403b26fd37cc6e3cc9f11019ab604f0071872ec6c092cc20b2a6d4460c55986623b50