1

这更像是一个关于字符编码的教育问题(这里是爱好者编码器) - 但我遇到了这个具体问题:

1)我在python 3中编写了一个愚蠢的程序,在编辑器中我总是使用UTF-8(这里是德语键盘)。

2)与感兴趣的家庭成员分享我的“创作”......我将代码粘贴到私人Pastebin.com(说明:将(原始)文件复制/粘贴到文本文件中并将文件扩展名更改为.py)

麻烦从这里开始:

3)按照这些说明将不允许运行程序。

4)我不确定为什么它不起作用,但由于字符编码现在是 ANSI,我知道这是问题所在。在代码编辑器中将编码改回 UTF-8 可以解决问题。

问题是:

a) 为什么要改为ANSI?

b)为什么它在 ANSI 中无论如何都不起作用(因为仅凭肉眼,整个代码看起来都一样)

c) 如何保存 UTF-8 编码?我的意思是:我的家人不知道如何更改编码......(我知道......只是将可执行文件发送给他们。但正如我所说......教育)

编辑:澄清 python-3.x 版本

4

1 回答 1

2

当他们将文本复制粘贴到编辑器并按保存时,这就是麻烦开始的地方。保存时,您必须指定编码,或者受制于“ANSI”之类的默认值。如果不使用某种编码,则无法保存文本文件。

它可能不起作用,因为您已在文件中声明# -*- coding: utf-8 -*-,将文件保存在“ANSI”中的文本编辑器对此一无所知,当然保持原样。因此解析器将尝试以 UTF-8 格式读取文件并失败,因为它不是 UTF-8。

您可以只\uxxxx对源中的非 ASCII 字符使用转义。

所以而不是:

str = u"€"

str = u"\u20AC"
于 2013-04-18T16:02:55.660 回答