2017-06-05 194 views
0

我在我的Python代码中存在编码问题。我尝试过不同的方式,但我没有得到它的工作。编码问题 - 'ascii'编解码器无法解码字节0xc3

值是

with open("result.txt", "a") as myfile: 
    myfile.write(value.encode('utf-8')) 

的错误是: UnicodeDecodeError错误: 'ASCII' 编解码器不能在位置0解码字节0xc3:顺序不在范围内(128)

+1

如果你看右侧,你会看到一个“相关”问题的列表。许多人的问题与你的问题非常相似。这些问题和答案中没有任何一个能帮助你吗? –

回答

0

你可以尝试编解码器模块,它是专门为此设计的。 我也希望价值是unicode不是字符串。如果它是一个unicode。

import codecs 
value = u'ä' 
with codecs.open("result.txt", "a", encoding="utf-8") as f: 
    f.write(value) 

这应该这样做。

但看着错误unicode解码它似乎你的价值是字符串。 如果它是一个字符串

f.write(value.decode("utf-8")) 

永远记住的Unicode编码字符串,字符串解码为Unicode。 因此,在你编写一个不正确的字符串时,你的情况。 但python允许它。所以它试图将字符串解码为unicode以便可以进一步编码。但肯定会因为解码会使用默认的ASCII编码而失败,并且不属于这种情况。

+0

非常感谢。我从刮脸中获得“价值”。是否有可能以某种方式做一个值= u的值? – Kristoffer

+0

所以,你确定它是一个字符串? –

+0

是的,这是一个字符串。我确定。 – Kristoffer

相关问题