在将字符串保存到fi时处理Python2.7中的Unicode

2024-04-25 22:50:43 发布

您现在位置:Python中文网/ 问答频道 /正文

处理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

我测试了许多编码来解决这个问题,但运气不好。在


Tags: 项目代码编码string编程withunicode教程
1条回答
网友
1楼 · 发布于 2024-04-25 22:50:43

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

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

相关问题 更多 >