作者: Bruce.
日時: 2007/5/12(15:57)
Bruce.です。

機械伯爵 wrote:
>> 思い出せる範囲で書くと、
>> ・Windowsユーザーを念頭においているようで、スクリプトのエンコーディングも
>> ShfitJISを使うのですが、それはともかく
>>
>> #coding: ShiftJIS
>>
>> はどうかと。
>> mbcs 使った方がいいと思うのですが…
> 
>  上記文言を入れないと、PythonがSJISコードを理解できないでエラー
> になるので、仕方ないかと。
> 
>  日本語を入れるなら、#coding: utf-8とか、#coding:eucjpとか入れる
> しかないです。


いやcoding指定することについては問題ないと思いますし、むしろ無いほうが
問題が出るでしょう。ここで気にしているのは、ShiftJIS と mbcs という
エンコーディングのどちらが良いかということです。mbcsというのはWindows
環境でのみ意味がある指定ですので、ほかの環境に持っていくのであれば
mbcsを使うべきではないでしょう。しかしながら、そうであるならShiftJIS
というエンコーディングも避けるべきだとわたしは思いますので、その意味では
両者に大差はありません。

utf-8でいいと思うんですけどねえ。


>  それはそーと、SJISもMBCS(Multiple Byte Character Set)だと思う
> のですが、Pythonの書き方で、#coding:mbcsとかってありましたっけ?


4.8.3 Standard Encodings
http://docs.python.org/lib/standard-encodings.html

shift_jis  	csshiftjis, shiftjis, sjis, s_jis  	Japanese
shift_jis_2004 	shiftjis2004, sjis_2004, sjis2004 	Japanese
shift_jisx0213 	shiftjisx0213, sjisx0213, s_jisx0213 	Japanese


mbcs  	dbcs  	Unicode string  	Windows only: Encode operand according to
the ANSI codepage (CP_ACP)


いじょ。