【问题标题】:How to use utf-8 characters in a comment in Python source code?如何在 Python 源代码的注释中使用 utf-8 字符?
【发布时间】:2020-03-02 02:47:28
【问题描述】:

我想我了解如何创建一个对 UTF-8 字符进行编码的字符串。但是,我正在尝试做一些不同的事情。是否可以在 Python 源代码的注释中使用 UTF-8 字符?而且,是否有任何 Python IDE 或源代码编辑器可以识别 UTF-8 序列并正确显示字符?

【问题讨论】:

  • 是的,只需在编辑器中写入一些 Unicode 字符,保存并运行它。
  • @Ry- 我有点失望,我不能写???? = ????**2.
  • 查看python unicode 文档、PEP 263PEP 3120 将utf-8 设置为python 3.x 的默认编码。如果您的编辑器/ide 现在不支持 unicode,请更新您的工具链!
  • 我已经测试了几个代码编辑器,包括 MS Visual Studio 2015。到目前为止,我尝试过的任何东西都无法将序列 U+00B0 识别为度数符号。
  • 你的意思是文字“U+00B0”吗?因为你需要写“°”,而不是“U+00B0”。在 Windows 上,there are a few ways to get that,例如Alt+0176.

标签: python utf-8 comments


【解决方案1】:

VS2015 当然可以使用 UTF-8 文件作为源代码,但是如果您只是在源代码中键入度数符号并且您的 ANSI 编码对字符进行编码(因本地化 Windows 版本而异),它会尝试使用默认的 ANSI 编码。使用 Notepad++ 之类的工具将源代码保存为 UTF-8,VS2015 仍然可以正确检测和读取文件。

以下文件是在 Notepad++ 中创建并保存为编码,UTF-8:

print('\u00b0')  # This is a °.
print('°°°°')    # So are these.

它在 VS2015 中也显示正确加载。

【讨论】:

  • 当我将度数符号放入打印语句时,尝试运行代码时出现以下错误: SyntaxError: (unicode error) 'utf-8' codec can't decode byte 0xb0在第 25 位:无效的起始字节
  • 您必须将文件保存为 utf8,或者在 Python 脚本顶部使用 #coding: ansi 声明您使用的编码。否则,Python 3 假定为 utf8。
猜你喜欢
  • 2011-09-11
  • 1970-01-01
  • 2022-11-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多