文字コード変換

かなりアレゲなショートカット

enclib.py

環境変数LANGから入力エンコードを拾い,任意の文字コードに変換する。

import sys
import os

def getenc():
    try:
        return os.environ.get('LANG').split('.')[1]
    except Exception, e:
        raise e, "unknown encoding(hint: environment variable: LANG)"

system_encode = getenc();

def encode(s, codec, errors='replace'):
    return unicode(s, system_encode, errors).encode(codec, errors)

コマンドライン引数をUTF8に変換して変数argsにコピーする例。

import sys
from enclib import encode
args = [encode(arg, 'utf-8') for arg in sys.argv]

Python/やっつけ系日本語処理 (last edited 2006-08-02 03:06:33 by KeisukeUrago)