法一:
isinstance(s, str) 用来判断是否为一般字符串
isinstance(s, unicode) 用来判断是否为 unicode
或
- if type(str).__name__!="unicode":
- str=unicode(str,"utf-8")
- else:
- pass
法二:
Python chardet 字符编码判断
使用 chardet 可以很方便的实现字符串 / 文件的编码检测. 尤其是中文网页, 有的页面使用 GBK/GB2312, 有的使用 UTF8, 如果你需要去爬一些页面, 知道网页编码很重要的, 虽然 html 页面有 charset 标签, 但是有些时候是不对的. 那么 chardet 就能帮我们大忙了.
chardet 实例
- >>> import urllib
- >>> rawdata = urllib.urlopen('http://www.google.cn/').read()
- >>> import chardet
- >>> chardet.detect(rawdata)
- {
- 'confidence': 0.98999999999999999, 'encoding': 'GB2312'
- }
>>>chardet 可以直接用 detect 函数来检测所给字符的编码. 函数返回值为字典, 有 2 个元数, 一个是检测的可信度, 另外一个就是检测到的编码.
chardet 安装
下载 chardet 后, 解压 chardet 压缩包, 直接将 chardet 文件夹放在应用程序目录下, 就可以使用 import chardet 开始使用 chardet 了.
或者使用 setup.py 安装文件, 将 chardet 拷贝到 Python 系统目录下, 这样你所有的 python 程序只要用 import chardet 就可以了.
python setup.py install 参考
chardet 官网 http://chardet.feedparser.org/
chardet 下载页面: http://chardet.feedparser.org/download/
来源: http://www.bubuko.com/infodetail-2987120.html