#coding:utf-8 和 sys.setdefaultencoding("utf-8")各有啥作用?

2019-05-08 09:30:05 +08:00
 oldbird

这两句啥区别?

百度了一下,结合自己的一些测试,云里雾里的,麻烦大神给个终极解释。

1866 次点击
所在节点    Python
12 条回复
shuax
2019-05-08 09:36:11 +08:00
marsgt
2019-05-08 09:39:48 +08:00
作为一名偶然路过的前端(并没接触过 Py ),我帮你搜了个解释:

http://www.lijiejie.com/python-sys-setdefaultencoding-trick/
boom7
2019-05-08 09:40:08 +08:00
迁移到 py3,忘记这些烦恼
marsgt
2019-05-08 09:41:43 +08:00
Trim21
2019-05-08 09:43:28 +08:00
在 python3 里面两个都不需要,默认就会用 utf8 处理 py 源文件
CEBBCAT
2019-05-08 09:45:21 +08:00
下面的脚本、程序都代表当前这个.py

第一个注释是给 Python 解释器看的,表示当前脚本使用 UTF-8 编码,用于解决中文或非 ASCII 字符出现在脚本中的问题

第二个是设置程序与外界交互时使用的编码吧,这个方法应该有文档,你可以查一下贴上来方便后来者(也是我对您的索取)

@boom7 Python3 照样有中文注释报错的问题
inframe
2019-05-08 09:45:52 +08:00
Python2 时代的兼容中文编码代码的方法
CEBBCAT
2019-05-08 09:48:02 +08:00
@boom7 你说的对,我记错了
Vegetable
2019-05-08 09:51:22 +08:00
第一句:我要说 utf8
第二句:麻烦告诉别人让他们也说 utf-8
ArianX
2019-05-08 10:00:04 +08:00
虽然记得 Fluent Python 里面就讲过但是如今已然忘记…
est
2019-05-08 10:36:51 +08:00
sys.setdefaultencoding("utf-8") 是一个流传于中文互联网圈子 10 多年的有害做法。

还是 py3 吧。
Qzier
2019-05-08 23:00:49 +08:00
python2 的产物

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/562048

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX