13得票1回答
如何直接将base64字符串解码为二进制音频格式

音频文件通过API以Base64编码的PCM格式发送给我们。我需要将其转换为PCM,然后转换为WAV进行处理。 我使用以下代码进行解码 -> 保存为pcm -> 从pcm中读取 -> 另存为wav。 decoded_data = base64.b64decode(data...

11得票1回答
在Python中,对字节对象进行切片操作会创建一个完全新的数据副本吗?

假设我有一个非常大的字节对象(在加载二进制文件后),我想逐部分读取并将起始位置前移,直到满足结束条件。我使用切片来实现这个目标。我担心 Python 每次要求进行切片时都会创建完全新的副本,而不是简单地给我指向所需位置的内存地址。 简单示例: data = Path("binary-fil...

9得票3回答
初始化非零值的字节数组是否可行?

我需要一个巨大的布尔数组。所有的值都应该被初始化为“True”: arr = [True] * (10 ** 9) 但是按照上面的方法创建会占用太多内存。因此我决定使用bytearray: arr = bytearray(10 ** 9) # initialized with zer...

7得票1回答
如何实现readinto()方法

我希望实现一个从RawIOBase继承的类。 我正在努力实现readinto方法。 基本上,我不知道如何更改作为参数传递的bytearray对象的内容。 我尝试了以下(天真)方法: def readinto(self, b): data = self.read(len(b)) ...