我正在尝试这样的事情:
outFile = open("file.txt", "wt",encoding='utf-8') outFile.write(str(sentence)) outFile.close()
并收到错误:
UnicodeEncodeError:'ascii'编解码器无法编码字符'/ x4e'。
为什么要使用ascii编码器?
我是否正确地说我的字符串(str(句子))是unicode?那么为什么写入文件时不能简单地编码为utf-8?在ubuntu和windows上运行时,此代码没有异常,但在mac os x上发生异常。
对我来说,即使我明确声明使用utf-8
,我的mac上某处默认使用ascii请帮忙,
百里
答案 0 :(得分:0)
str()
返回一个字符串yes。编写时会编码str,是的。
我不完全确定为什么使用ascii编码(它是Python 2中的默认编码,但不是Python 3中的默认编码),但我甚至不确定你为什么要str(sentence)
。如果您要解码字节,则不要使用str()
,而是使用.decode()
。首先,请删除str()
来电。
你没有提供完整的追溯,但我猜这是str(sentence)
给出了错误。