Python 如何像fread处理文件缓冲区那样解析输入字符串缓冲区?

Python 如何像fread处理文件缓冲区那样解析输入字符串缓冲区?,python,c,string,buffer,Python,C,String,Buffer,我试图修改下面的代码以删除“fread”函数,因为我的参数不再是“FILE*pcm”,而是一个字节字符串“const char*pcm” 是否可以使用合适的强制转换将pcm中的字符*写入“int32_t pcm_缓冲区” 提前感谢 使现代化 我正在开发一个PythonC扩展,将一些“动态”的小音频wav记录编码为AAC或MP3(输出是字节流)。项目正在进行中 第一个版本运行良好,因为我在参数中给出了一个Python文件对象: input_file (type: file) stream = wa

我试图修改下面的代码以删除“fread”函数,因为我的参数不再是“FILE*pcm”,而是一个字节字符串“const char*pcm”

是否可以使用合适的强制转换将pcm中的字符*写入“int32_t pcm_缓冲区”

提前感谢

使现代化 我正在开发一个PythonC扩展,将一些“动态”的小音频wav记录编码为AAC或MP3(输出是字节流)。项目正在进行中

第一个版本运行良好,因为我在参数中给出了一个Python文件对象:

input_file (type: file)
stream = wav_to_aac(input_file) // OK!
input_file (type: _io.BytesIO)
stream = wav_to_aac(input_file.read()) // KO!
但我需要传递一个文件,比如BytesIO,PyArg_ParseTuple无法将其识别为文件对象:

input_file (type: _io.BytesIO)
stream = wav_to_aac(input_file) // KO!
因此,我试图直接给出参数中的字节流:

input_file (type: file)
stream = wav_to_aac(input_file) // OK!
input_file (type: _io.BytesIO)
stream = wav_to_aac(input_file.read()) // KO!

当我读取file参数时,一切都很简单,但现在我想读取缓冲字符串。

您知道
sizeof(short int)
很可能与
sizeof(int32_t)
不同?这意味着只有一半(通常)缓冲区将被填满,但这一半仍将被视为
int32\t
值?你想解决的真正问题是什么?请详细说明,最好显示更多或您的实际代码。