4
_f = open("c:/go-next.png", "rb")
data = _f.read()
_f.close()
data.encode("utf-8")

# Error: UnicodeDecodeError: file <maya console> line 1: ascii # 

ご覧のとおり、画像ファイルを開きます。データはタイプです。しかし、私はそれをutf-8に変換する必要があります。おそらく、バイナリデータには余分な文字が含まれている(または含まれていない)ため、変換と競合します。それを解決する方法はありますか?

4

5 に答える 5

7

コーデックstrunicode使用して、いつでもにマップできます。latin-1を取得したらunicode、いつでも次のようにエンコードできますutf-8

data.decode('latin-1').encode("utf-8")
于 2013-02-07T04:06:38.067 に答える
3

テキストエンコーディングはテキストにのみ適用されます。バイナリデータでそれらを使用しようとしないでください。

于 2013-02-07T03:43:19.847 に答える
2

達成しようとしていることは、おそらくbase64でエンコードすることで達成できます。

 import base64
 encoded = base64.b64encode(image_binary_data)
于 2013-02-07T04:17:26.283 に答える
0

エンコーディングとは、文字列を格納可能なバイトに変換することを意味します。
また、デコードとは、バイトを読み取り可能な文字列に変換することを意味します。

dataコード内のはすでにエンコードされています。

于 2013-02-07T04:19:13.533 に答える
0

画像をutf8のチャーターのようなものに変換することはできません。

于 2017-07-27T12:18:11.603 に答える