伪代码如下:
s = '**************'
print(detectRisk(s,'gbk') #=>80% s 是 gbk 编码的概率是 80%
print(detectRisk(s,'utf8') #=>30% s 是 u8 编码的概率是 30%
请问 python 有没有这样的方法呢?
有 cchardet.dect(s)或者 chardet.dect(s),但都不能指定检查哪一种编码的概率。
伪代码如下:
s = '**************'
print(detectRisk(s,'gbk') #=>80% s 是 gbk 编码的概率是 80%
print(detectRisk(s,'utf8') #=>30% s 是 u8 编码的概率是 30%
请问 python 有没有这样的方法呢?
有 cchardet.dect(s)或者 chardet.dect(s),但都不能指定检查哪一种编码的概率。
|
nullccSep 9, 2017
1
|
|
mskipSep 9, 2017
2
chardet
{'confidence': 0.7525, 'language': '', 'encoding': 'utf-8'} {'confidence': 1.0, 'language': '', 'encoding': 'ascii'} {'confidence': 0.99, 'language': '', 'encoding': 'utf-8'} {'confidence': 0.99, 'language': '', 'encoding': 'utf-8'} |
|
ltuxSep 9, 2017
4
那就自己实现喽。
|
|
5
In [1]: import chardet
In [2]: prober = chardet.utf8prober.UTF8Prober() In [3]: prober.feed('你好,世界!'.encode('utf-8')) Out[3]: 1 In [4]: prober.get_confidence() Out[4]: 0.99 |
|
paramSep 9, 2017
6
chardet 有出错的,而且速度很慢
|
|
yucongoSep 10, 2017
7
s = '**************', 貌似少个 b 吧,s = b'**************'。str 是不存在编码的问题的
|