有lib用于编码检测: https://pypi.python.org/pypi/chardet (在Python中编码自动检测的字符。像浏览器一样聪明。开源)
检测...
- ASCII,UTF-8,UTF-16(2个变体),UTF-32(4个变体)
- BIG5,GB2312,EUC-TW,HZ-GB-2312,ISO-2022-CN(传统和简化的中文)
- EUC-JP,Shift_Jis,ISO-2022-JP(日语)
- EUC-KR,ISO-2022-KR(韩文)
- KOI8-R,MacCyrillic,IBM855,IBM866,ISO-8859-5,Windows-1251(Cyrillic)
- ISO-8859-2,Windows-1250(匈牙利人)
- ISO-8859-5,Windows-1251(保加利亚语)
- Windows-1252(英语)
- ISO-8859-7,Windows-1253(希腊语)
- ISO-8859-8,Windows-1255(视觉和逻辑希伯来语)
- TIS-620(泰语)
文档的示例:
>>> import urllib
>>> rawdata = urllib.urlopen('http://yahoo.co.jp/').read()
>>> import chardet
>>> chardet.detect(rawdata)
{'encoding': 'EUC-JP', 'confidence': 0.99}