将字符串保存到文件

时间:2016-07-16 19:17:30

标签: python python-2.7 unicode

处理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'编解码器不能解码位置0中的字节0xc5:无效的连续字节

我测试了很多编码来解决这个问题而没有运气。

1 个答案:

答案 0 :(得分:2)

编码行只是告诉Python解释器应该如何解释字节。这并不意味着脚本实际上包含 UTF-8编码的文本。实际上,错误消息表明该文件已保存为ISO-8859编码(Latin-1)文本。 0xc5是Å的Latin-1编码; 0xc3 0x85是UTF-8编码。

您需要确保您的编辑器实际上将文件保存为UTF-8编码文本,以便编码行不会对解释器说谎。