文字コードの自動認識

urllib2で取得したhtmlの文字コードを自動認識する方法

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

参考:2008/05/20 文字コード判定して一括でuft-8に変換するPythonスクリプト - 清水川Web