1からPythonを学ぶスレ
■ このスレッドは過去ログ倉庫に格納されています
00491 ◆x0qRLOoQFY
NGNG> os.chdir(unicode('/表\')) #Shift_JISで'\'を含む文字をリテラルで…
とありますが、Python 2.3 では、スクリプトファイルの先頭に
┏
┃# -*- encoding: cp932 -*-
…のように文字コードを宣言するディレクティブを書いておくと、この余分な '\' は不要です。
つまりリテラルの「表」が次のように書けます。
┏
┃# -*- encoding: cp932 -*-
┃# このスクリプトファイルは Shift_JIS (cp932) で保存されています。
┃print unicode("表", "cp932")
┃print unicode("表", "mbcs")
さらに、わたしは \Python23\Lib\site-python\sitecustomize.py というファイルで
┃import sys
┃sys.setdefaultencoding("mbcs")
…というように省略時の文字encodingを設定しているので、
┏
┃# -*- encoding: cp932 -*-
┃print unicode("表")
┃print "表".decode()
…のように、個別のencoding指定を省略できます。 ついでにこの環境では
┏
┃# -*- encoding: cp932 -*-
┃print repr(unicode("表")
┃print repr(u"表")
…というスクリプトの出力は、つぎのように直感に従った結果となります。
u'\u8868'
u'\u8868'
以上はWinXP 日本語版での経験ですが、要するに使ううえでShift_JISの問題というのは感じません。
■ このスレッドは過去ログ倉庫に格納されています