Python2.7.xのエンコード宣言について

pythonの2.7.xで、エンコード宣言部分が気になったので、調べました。

python logo

python logo

http://docs.python.jp/2/reference/lexical_analysis.html#encoding-declarations

2.1.4. エンコード宣言 (encoding declaration)(原文)

Python スクリプト中の一行目か二行目にあるコメントが正規表現 coding[=:]\s*([-\w.]+) にマッチする場合、コメントはエンコード宣言として処理されます; この表現の最初のグループがソースコードファイルのエンコードを指定します。エンコード宣言は自身の行になければなりません。二行目にある場合、一行目もコメントのみの行でなければなりません。エンコード宣言式として推奨する形式は

# -*- coding: <encoding-name> -*-

これは GNU Emacs で認識できます。または

# vim:fileencoding=<encoding-name>

です。さらに、ファイルの先頭のバイト列が UTF-8 バイトオーダ記号 ('\xef\xbb\xbf') の場合、ファイルのエンコードは UTF-8 と宣言されているものとします (この機能は Microsoft の notepad やその他のエディタでサポートされています)。

エンコードが宣言されている場合、Python はそのエンコード名を認識できなければなりません。宣言されたエンコードは全ての字句解析、特に文字列の終端を検出する際や Unicode リテラルの内容を翻訳する上で用いられます。文字列リテラルは文法的な解析を行うために Unicode に変換され、解釈が行われる前に元のエンコードに戻されます。

ってことで、1行目か2行目に、utf-8宣言しておくのねー。

全ファイルかー。

そういえばpythonはjavadocみたいなのないのかなー。今度調べてみよう。

スポンサーリンク
hige1
hige1

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク
hige1