处理Unicode是我用Python编程的唯一挑战,在我过去的项目中我遇到了很多问题,我总是在测试不同的编码之前强行退出(如果有初学者的教程,这将非常方便)。在
例如,我有以下代码:
# -*- coding: utf-8 -*-
string = "Åland Islands"
with open("1.txt","w")as f:
f.write(string.decode("utf-8"))
返回:
return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode byte 0xc5 in position 0: invalid continuation byte
我测试了许多编码来解决这个问题,但运气不好。在
编码行只是告诉Python解释器如何解释字节。这并不意味着脚本实际上包含UTF-8编码的文本。实际上,错误消息表明该文件被保存为ISO-8859编码(拉丁语-1)文本。0xc5是?的拉丁语1编码;0xc3 0x85是UTF-8编码。在
您需要确保编辑器实际上将文件保存为UTF-8编码文本,这样编码行就不会对解释器说谎。在
相关问题 更多 >
编程相关推荐