1

我有一个 Unicode 格式的 GIF 文件(或任何图像格式):

>>> data
u'GIF89a,\x000\x00\ufffd\ufffd\x00\x00\x00\x00\ufffd\ufffd\ufff...

我想把它写到文件中:

>>> f = open('file.gif', 'wb')
>>> f.write(data)

但我收到一个错误:

UnicodeEncodeError at /image
'ascii' codec can't encode characters in position 10-11: ordinal not in range(128)

我该怎么做呢?

4

2 回答 2

3

您必须将字符串显式编码为 un​​icode

f.write(data.encode('utf-8'))
于 2012-11-30T21:42:45.463 回答
3

试试这个:

utf8data = data.encode('UTF-8')
open('file.gif', 'w').write(utf8data)
于 2012-11-30T21:42:53.513 回答