python 字符编码判断 chardet评测
之前一直想找到一个模块,针对字符判断是什么字符集编码的库
网上有chardet的blog,发现自己的环境有这个库,于是就做了测试
>>> import chardet >>> a = "也有".decode('gbk') >>> a u'\u6d94\u71b8\u6e41' >>> a = "也有".decode('gbk').encode('gbk') >>> a '\xe4\xb9\x9f\xe6\x9c\x89' >>> chardet.detect(a) {'confidence': 0.7525, 'language': '', 'encoding': 'utf-8'} >>> print(a) 也有>>> a = "也有".decode('gbk').encode('gbk') >>> a = u"也有".encode('gbk') >>> a '\xd2\xb2\xd3\xd0' >>> chardet.detect(a) {'confidence': 0.7679697235616183, 'language': 'Russian', 'encoding': 'KOI8-R'}
In [5]: a = "asd算法".encode('utf-8').decode('gbk')
In [6]: import chardet
In [7]: chardet.detect(a)
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-7-45a625c5d441> in <module>()
----> 1 chardet.detect(a)
c:\python3.6.3\lib\site-packages\chardet\__init__.py in detect(byte_str)
32 if not isinstance(byte_str, bytes):
33 raise TypeError('Expected object of type bytes or bytearray, got: '
---> 34 '{0}'.format(type(byte_str)))
35 else:
36 byte_str = bytearray(byte_str)
TypeError: Expected object of type bytes or bytearray, got: <class 'str'>
In [8]: a
Out[8]: 'asd绠楁硶'
总结发现不是很准,放弃使用
出处:http://www.cnblogs.com/renfanzi/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。