python文件编码说明 coding=utf-8

本文介绍了Python中用于声明文件编码的两种常见方式,并解释了为何需要进行这样的声明。文章还提供了有关如何正确设置编码声明的详细指导,以确保中文字符能够被Python解释器正确识别。

python 支持3种编码声明,一般常用能见到下面两种

1.# -- coding: utf-8 --

这种写法是为了兼容Emacs的编码声明

2.短一点,但Emacs不能用# coding=utf-8

短一点,但Emacs不能用

之所以要声明未编码类型 ,主要是中文出错的问题。

在python 文件开头(一般是第一行或第二行),用来说明你的Python源程序文件用使用的编码。缺省情况下你的程序需要使用ascii码来写,但如果在其中写中文的话,python解释器一般会报错,但如果加上你所用的文件编码,python就会自动处理不再报错。

这里要注意的是:

1.coding 后面使用 “:” 或 “=” 都可以

2.但是, “:” 或 “=” 必须和 coding之间没有空格。之前我就试过有空格声明失败,还是不支持中文。至于 “:” 或 “=” 后面,有没有空格就没所谓了。

见:https://www.python.org/dev/peps/pep-0263/

Defining the Encoding

Python will default to ASCII as standard encoding if no other
encoding hints are given.

To define a source code encoding, a magic comment must
be placed into the source files either as first or second
line in the file, such as:

      # coding=<encoding name>

or (using formats recognized by popular editors)

      #!/usr/bin/python
      # -*- coding: <encoding name> -*-

or

      #!/usr/bin/python
      # vim: set fileencoding=<encoding name> :

More precisely, the first or second line must match the regular
expression "coding[:=]\s*([-\w.]+)". The first group of this
expression is then interpreted as encoding name. If the encoding
is unknown to Python, an error is raised during compilation. There
must not be any Python statement on the line that contains the
encoding declaration.
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值