当前位置: 首页 > 面试题库 >

在Python源代码中使用UTF-8编码

夹谷鸿福
2023-03-14
问题内容

考虑:

$ cat bla.py 
u = unicode('d…')
s = u.encode('utf-8')
print s
$ python bla.py 
  File "bla.py", line 1
SyntaxError: Non-ASCII character '\xe2' in file bla.py on line 1, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details

如何在源代码中声明UTF-8字符串


问题答案:

在源头中,你可以声明:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
....

在PEP 0263中进行了描述:

然后,你可以在字符串中使用UTF-8:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

u = 'idzie wąż wąską dróżką'
uu = u.decode('utf8')
s = uu.encode('cp1250')
print(s)

在Python 3中不需要此声明,因为UTF-8是默认的源编码(请参阅PEP 3120)。

此外,值得验证你的文本编辑器是否已将代码正确编码为UTF-8。否则,你可能会有不被解释为UTF-8的不可见字符。



 类似资料:
  • 问题内容: 我正在用python做一些脚本。我创建一个保存在文件中的字符串。这个字符串有很多数据,来自目录的树状结构和文件名。根据convmv的介绍,我所有的树状结构都是UTF-8。 我想将所有内容都保留在UTF-8中,因为之后我将其保存在MySQL中。现在,在UTF-8的MySQL中,我遇到了一些字符问题(例如é或è-我是法语)。 我希望python始终将字符串用作UTF-8。我在互联网上阅读了

  • 本章是由 Alex Cabal 最初撰写在 PHP Best Practices 中的,我们使用它作为进行建议的基础。 这不是在开玩笑。请小心、仔细并且前后一致地处理它。 目前,PHP 仍未在底层实现对 Unicode 的支持。虽然有很多途径可以确保 UTF-8 字符串能够被正确地处理,但这并不是很简单的事情,通常需要对 Web 应用进行全方面的检查,从 HTML 到 SQL 再到 PHP。我们将

  • 问题内容: 我试图在Go中找到以下C#代码的等效项。 我知道Go 中有一个crypto / sha1软件包。我知道我可以跑步: 我不确定散列时如何获得正确的编码。我想知道是否可以得到一些帮助来转换此 问题答案: 根据文档: 缺少字节级转义的字符串文字始终包含有效的UTF-8序列。 因此,如果在Golang源代码中,则无需将字符串编码为utf8。但是,如果字符串来自输入,则utf8包是您的朋友。

  • 问题内容: 我正在从事一个涉及Maven,Java和Clojure的项目。我面临的问题是,UTF-8我的clojure源文件中有一些字符,由于这些原因,java编译器无法正确解释我的源代码,我通过设置环境变量使其正常工作,但是我想要的是通过MAVEN传递此属性。 我已经尝试设置,但这似乎不起作用。 我也尝试过为Maven的编译器插件设置配置…如下所示: 这也不起作用。 我做错了什么,还是有其他方法

  • 在使用序列化和反序列化对象时,有没有一种方法告诉Jackson使用UTF-8编码?

  • 问题内容: 我想从请求中获取参数(带有重音符的字符),但是它不起作用。我尝试使用,但也没有用。 我知道返回正确的字符,但不起作用! 有人有主意吗? 问题答案: Paul的建议似乎是最好的做法,但如果要解决此问题,则根本不需要URLEncoder或URLDecoder: 更新: 由于获得了很多选票,我想强调BalusC的观点,即这绝对不是解决方案。充其量是一种解决方法。人们不应该这样做。 我不知道是