Python 需要帮助解码WAV文件电子邮件附件吗

Python 需要帮助解码WAV文件电子邮件附件吗,python,google-app-engine,decode,wav,google-app-engine-python,Python,Google App Engine,Decode,Wav,Google App Engine Python,我正在使用GoogleAppEngine作为基础设施,我正在尝试解码附加的.WAV文件,并将其解码为字符串,以便传递到GoogleCloud的语音到文本api 这是我的代码,我不知道该怎么办。我尝试使用“base64”或“有效负载中的编码属性”进行解码,但我不断收到以下错误:“UnicodeDecodeError:'utf8'编解码器无法解码位置4中的字节0xc6:无效的连续字节” 我用于测试的.WAV文件使用在线WAV到base64解码器正确解码,但由于某些原因,它不能与此代码一起工作 def

我正在使用GoogleAppEngine作为基础设施,我正在尝试解码附加的.WAV文件,并将其解码为字符串,以便传递到GoogleCloud的语音到文本api

这是我的代码,我不知道该怎么办。我尝试使用“base64”或“有效负载中的编码属性”进行解码,但我不断收到以下错误:“UnicodeDecodeError:'utf8'编解码器无法解码位置4中的字节0xc6:无效的连续字节”

我用于测试的.WAV文件使用在线WAV到base64解码器正确解码,但由于某些原因,它不能与此代码一起工作

def receive(self, mail_message):

    if hasattr(mail_message, 'attachments'):
        file_name = ""
        file_contents = ""
        for filename, filecontents in mail_message.attachments:
            file_name = filename
            file_contents = filecontents.payload.decode(filecontents.encoding)

filecontents
不需要任何解码:它已经以正确的格式(编码为
base64
)准备好使用语音到文本api进行进一步处理(如评论部分所述)。
filecontents
不需要任何解码:它已经以正确的格式进行了处理(编码为
base64
),并准备使用语音到文本api进行进一步处理(如评论部分所述)。

您不能像
RecognitionAudio(content=filecontents)那样直接传递字节吗
?为什么要解码它?感谢您的快速响应。@snakecharmerb dsf--------=\u Part\u 4218024\u 179197831.1558180999159---------=\u Part\u 4218025\u 939837478.1558180999161内容类型:音频/wav内容传输编码:base64内容处理:附件;filename=“brooklyn.wav”Content ID:@LukaszTracewski很好,但我使用的是HTTP api,所以需要将其解码为字符串/base64的json格式。:(但是,如果我无法使其工作,我可能会使用客户端库maybe然后
base64.b64encode(filecontents)
?我不知道这是否有什么启发,但以下是我在AWS上使用WAV的方式:@LukaszTracewski:刚刚尝试,没有出现错误,但语音到文本api正在抱怨。我检查了在线生成的base64字符串,似乎与base64.b64encode(文件内容)非常不同。{“错误”:{“代码”:400,“消息”:“无效识别'config':错误编码..”,“状态”:“无效参数”}}您不能像
RecognitionAudio(content=filecontents)那样直接传递字节吗
?为什么要解码它?感谢您的快速响应。@snakecharmerb dsf--------=\u Part\u 4218024\u 179197831.1558180999159---------=\u Part\u 4218025\u 939837478.1558180999161内容类型:音频/wav内容传输编码:base64内容处理:附件;filename=“brooklyn.wav“Content ID:@LukaszTracewski很好,但我使用的是HTTP api,所以需要将其字符串/base64解码为json格式。:(但是,如果我无法使其工作,我可能会使用客户端库maybe然后
base64.b64encode(filecontents)
?我不知道这是否有什么启发,但以下是我在AWS上使用WAV的方式:@LukaszTracewski:刚刚尝试,没有出现错误,但语音到文本api正在抱怨。我检查了在线生成的base64字符串,似乎与base64.b64encode(文件内容)非常不同。{“错误”:{“代码”:400,“消息”:“无效识别'config':错误编码..”,“状态”:“无效参数”}