2009年4月1日水曜日

python: 元の文字コードを自動判別して utf-8 に変換

http://www.freia.jp/taka/blog/571 で見付けた
def guess_charset(data):
   f = lambda d, enc: d.decode(enc) and enc

   try: return f(data, 'utf-8')
   except: pass
   try: return f(data, 'shift-jis')
   except: pass
   try: return f(data, 'euc-jp')
   except: pass
   try: return f(data, 'iso2022-jp')
   except: pass
   return None

def conv(data):
   charset = guess_charset(data)
   u = data.decode(charset)
   return u.encode('utf-8')

0 件のコメント:

コメントを投稿