Python 如何打开存储在Google App Engine中的二进制文件?

Python 如何打开存储在Google App Engine中的二进制文件?,python,google-app-engine,binary,google-cloud-storage,word2vec,Python,Google App Engine,Binary,Google Cloud Storage,Word2vec,我已使用生成了一个二进制文件,将生成的.bin文件存储到我的GCS存储桶中,并在我的应用程序引擎应用程序处理程序中运行以下代码: gcs_file = gcs.open(filename, 'r') content = gcs_file.read().encode("utf-8") """ call word2vec with content so it doesn't need to read a file itself, as we don't have a file

我已使用生成了一个二进制文件,将生成的
.bin
文件存储到我的GCS存储桶中,并在我的应用程序引擎应用程序处理程序中运行以下代码:

    gcs_file = gcs.open(filename, 'r')
    content = gcs_file.read().encode("utf-8")
    """ call word2vec with content so it doesn't need to read a file itself, as we don't have a filesystem in GAE """
由于以下错误而失败:
content=gcs\u file.read().encode(“utf-8”)
UnicodeDecodeError:“ascii”编解码器无法解码第15位的字节0xf6:序号不在范围内(128)

如果我尝试
gcs\u file.read()
,或
gcs\u file.read().decode(“utf-8”).encode(“utf-8”)
,则会发生类似的解码错误

关于如何从GCS读取二进制文件有什么想法吗


谢谢

如果它是二进制的,那么它就不会采用字符编码,这就是
UTF-8
的含义
UTF-8
只是字符集(
String
数据)的
Unicode
规范的一种可能的二进制编码。您需要返回并阅读
UTF-8
ASCII
所代表的内容以及它们的使用方法


如果不是用特定编码编码的文本数据,那么它就不会神奇地解码,这就是为什么会出现该错误<代码>无法解码第15位的字节0xf6不是有效的
ASCII
值。

为什么要调用encode?如果它是字节,它已经被编码了。如果它是字节,你不知道它是什么,如果它是
png
,那么它肯定还没有使用字符编码。除非它被转换为
Base64
UUE
,但从代码和问题来看,我很确定情况并非如此。这很公平。让我困惑的是,我从你的回答中学到的教训是二进制文件已经被编码了。谢谢