q4561231 发表于 2018-8-10 06:37:42

Python学习笔记__13.3章 chardet

  # 这是学习廖雪峰老师python教程的学习笔记
  对于未知编码的bytes,要把它转换成str,就需要知道该bytes的编码方式。我们可以用chardet这个第三方库来检测编码
  1)直接检测bytes
  >>> chardet.detect(b'Hello, world!')
  {'encoding': 'ascii', 'confidence': 1.0, 'language': ''}
  检测出的编码是ascii,confidence字段,表示检测的概率是1.0(即100%)
  2)检测GBK编码的中文
  >>> data = '离离原上草,一岁一枯荣'.encode('gbk')
  >>> chardet.detect(data)
  {'encoding': 'GB2312', 'confidence': 0.7407407407407407, 'language': 'Chinese'}
  检测的编码是GB2312,注意到GBK是GB2312的超集,两者是同一种编码,检测正确的概率是74%,language字段指出的语言是'Chinese'。
  s1是s2的超集

  3、扩展文档
  chardet支持检测的编码列表 (https://chardet.readthedocs.io/en/latest/supported-encodings.html)
页: [1]
查看完整版本: Python学习笔记__13.3章 chardet