python 获取编码信息 chardet

2,390 阅读1分钟

MedusaSorcerer的博客


python3 -m pip install chardet

在不知道当前字符对象是什么编码的时候, 这个库可以帮你解决问题。

chardet.detect() 接受一个非 unicode 字符串, 来获取编码信息的方法, 上例子:

#!/usr/bin/env python
# _*_ Coding: UTF-8 _*_
import chardet

print(chardet.detect(b'medusa'))
print(chardet.detect('美杜莎,掘金'.encode('GBK')))
print(chardet.detect('美杜莎,掘金'.encode('UTF-8')))
print(chardet.detect('おじさん、こんなふうにならないで'.encode('euc-jp')))

返回内容是一个字典对象:

{'encoding': 'ascii', 'confidence': 1.0, 'language': ''}
{'encoding': None, 'confidence': 0.0, 'language': None}
{'encoding': 'utf-8', 'confidence': 0.99, 'language': ''}
{'encoding': 'EUC-JP', 'confidence': 1.0, 'language': 'Japanese'}

说明什么呢?

  • encoding 编码信息, 描述的是当前字符使用的编码字符
  • confidence 当前编码信息判断的可信度
  • language 使用的语言信息

我也疑惑的是 GBK 的编码为什么没有识别~




周五了,又即将迎来宅家的周末了,当然了,还是期望自己周末能锻炼一下,也只是期望一下下啦~