PEP 263定义了如何声明Python源代码编码。
通常,Python文件的前两行应以:
#!/usr/bin/python
# -*- coding: <encoding name> -*-
但是我看过很多以以下内容开头的文件:
#!/usr/bin/python
# -*- encoding: <encoding name> -*-
=> 编码而不是编码。
那么,声明文件编码的正确方法是什么?
是了编码允许的,因为所使用的正则表达式是懒惰?还是仅仅是声明文件编码的另一种形式?
我问这个问题是因为PEP不在谈论编码,它只是在谈论编码。
在这里检查文档:
“如果Python脚本的第一行或第二行中的coding[=:]\s*([-\w.]+)
注释与正则表达式匹配,则此注释将作为编码声明处理”
“此表述的推荐形式是
# -*- coding: <encoding-name> -*-
GNU Emacs也承认这一点,并且
# vim:fileencoding=<encoding-name>
被Bram Moolenaar的VIM认可。”
因此,你可以在“编码”部分之前放置几乎所有内容,但如果要100%兼容python-docs-recommendation,则应坚持使用“编码”(无前缀)。
更具体地说,你需要使用Python可以识别的任何东西以及你使用的特定编辑软件(如果它完全需要/接受任何东西)。例如,codin
g表格被GNU Emacs识别(开箱即用),但未被Vim识别(是的,没有普遍的协议,这本质上是一场草皮大战)。
问题内容: 我注意到,在没有源代码编码声明的情况下,Python 2解释器假定源代码使用 脚本 和 标准输入 以ASCII编码: 并使用 模块 和 命令 标志在ISO-8859-1中进行了编码: 它在哪里记录? 与此相反,Python 3始终假定源代码是用UTF-8编码的,因此可以在四种情况下打印。 注意。 –我在控制台编码设置为UTF-8的macOS 10.13和Ubuntu Linux 17.
问题内容: 我试图加载一个html页面并输出文本,即使我正确地获取了该网页,BeautifulSoup也以某种方式破坏了编码。 资源: 摘录输出: 这应该是 Odenwälderisch 问题答案: 您犯了两个错误;您对编码的处理不当,并且将结果列表视为可以安全地转换为字符串而不丢失信息的内容。 首先,不要使用!此处不是BeautifulSoup错误,您正在重新编码Mojibake。当服务器未明确
问题内容: 考虑: 如何在源代码中声明UTF-8字符串? 问题答案: 在源头中,你可以声明: 在PEP 0263中进行了描述: 然后,你可以在字符串中使用UTF-8: 在Python 3中不需要此声明,因为UTF-8是默认的源编码(请参阅PEP 3120)。 此外,值得验证你的文本编辑器是否已将代码正确编码为UTF-8。否则,你可能会有不被解释为UTF-8的不可见字符。
问题内容: 我收到了一些经过编码的文本,但是我不知道使用了什么字符集。有没有办法使用Python确定文本文件的编码?如何检测 C#处理的文本文件的编码/代码页。 问题答案: 但是,某些编码针对特定语言进行了优化,并且语言不是随机的。某些字符序列始终弹出,而其他字符序列毫无意义。一个会说英语的人,打开报纸发现,会立即意识到这不是英语(即使它完全由英文字母组成)。通过研究大量“典型”文本,计算机算法可
因此,我最近开始使用ffmpeg下载实时流媒体视频,但我面临的问题是,下载的视频会阻塞很多,特别是对于长视频(如2小时)而言。 我当前用于下载流文件的命令:- ffmpeg-i"https://link. m3u8"-c复制output.mkv 此命令在35分钟长的视频中运行良好[没有任何卡滞问题],但在2小时长的视频中失败 当我试图使用x264 lib命令编码2小时长的视频时,它还显示了“无效长
实际上,我已经使用ffmpeg本机aac编码器将一个音频文件从ac3编码到aac,但问题是该文件没有正确播放,更具体地说,我在不同的媒体播放器中播放了该文件,但大多数都是从19秒开始的,在vlc中,甚至直到我寻求超过19秒的持续时间才开始播放。 我使用的命令是:-ffmpeg-i source。mkv-Map0:a:0-c:aac音频。mp4。