2017-06-05 254 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

相關問題