zoukankan      html  css  js  c++  java
  • python文件编码说明 coding=utf-8

    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.
  • 相关阅读:
    hdu 5392 Infoplane in Tina Town(数学)
    hdu 5391 Zball in Tina Town(打表找规律)
    poj 2251 Dungeon Master(bfs)
    hdu 5313 Bipartite Graph(dfs染色 或者 并查集)
    [转]notifyDataSetChanged() 动态更新ListView
    Android之Intent
    LinearLayout 和 RelativeLayout
    poj 2955 Brackets(区间dp)
    poj 1651 Multiplication Puzzle(区间dp)
    poj 3186 Treats for the Cows(区间dp)
  • 原文地址:https://www.cnblogs.com/sixbeauty/p/4284427.html
Copyright © 2011-2022 走看看