当前位置: 首页 > news >正文

Python判断字符串编码以及编码的转换

 

判断字符串编码

使用 chardet 可以很方便的实现字符串/文件的编码检测。尤其是中文网页,有的页面使用GBK/GB2312,有的使用UTF8,如果你需要去爬一些页面,知道网页编码很重要

>>> import urllib
>>> html = urllib.urlopen('http://www.chinaunix.net').read()

>>> import chardet
>>> chardet.detect(html)
{'confidence': 0.98999999999999999, 'encoding': 'GB2312'}

函数返回值为字典,有2个元素,一个是检测的可信度,另外一个就是检测到的编码。

 

 

编码转换

先把其他编码转换为unicode再转换其他编码, 如utf-8转换为gb2312

>>> import chardet
>>> str = "我们"
>>> print(chardet.detect(str))
{'confidence': 0.7525, 'encoding': 'utf-8'}

>>> str1 = str.decode('utf-8')

>>> str2 = str1.encode('gb2312')
>>> print(chardet.detect(str2))
{'confidence': 0.8095977270813678, 'encoding': 'TIS-620'}

 

转载于:https://www.cnblogs.com/zhanhg/p/4392089.html

相关文章:

  • 转:一个基于互联网医疗的创业公司,三年是一个收获
  • LoadRunner的Socket脚本关联小技巧
  • linux 驱动cc1101
  • (Repost) Getting Genode with TrustZone on the i.MX
  • [数分提高]2014-2015-2第5教学周第1次课
  • 【每天进步一点】毒药和老鼠的研究
  • linux下安装Python-2.7.9
  • 一条简单的sql在11g和12c中的不同
  • 关于mongodb在mac下的手动安装,非homwbrew安装(小白请进)
  • EcShop二次开发学习方法
  • 国庆后的特训
  • 梦游记-梦中游记
  • PHP-内核学习(一、变量)
  • 【cs229-Lecture18】线性二次型调节控制
  • 转:windows 下 netsh 实现 端口映射(端口转发)
  • ES6核心特性
  • HTTP请求重发
  • java8 Stream Pipelines 浅析
  • Java反射-动态类加载和重新加载
  • scrapy学习之路4(itemloder的使用)
  • 订阅Forge Viewer所有的事件
  • 如何使用 OAuth 2.0 将 LinkedIn 集成入 iOS 应用
  • 微服务核心架构梳理
  • 在Mac OS X上安装 Ruby运行环境
  • LIGO、Virgo第三轮探测告捷,同时探测到一对黑洞合并产生的引力波事件 ...
  • 阿里云服务器购买完整流程
  • ​插件化DPI在商用WIFI中的价值
  • # include “ “ 和 # include < >两者的区别
  • # 安徽锐锋科技IDMS系统简介
  • #WEB前端(HTML属性)
  • #我与Java虚拟机的故事#连载13:有这本书就够了
  • (C++)八皇后问题
  • (阿里巴巴 dubbo,有数据库,可执行 )dubbo zookeeper spring demo
  • (阿里云万网)-域名注册购买实名流程
  • (超详细)2-YOLOV5改进-添加SimAM注意力机制
  • (附源码)计算机毕业设计SSM疫情社区管理系统
  • (十三)Flask之特殊装饰器详解
  • (五)IO流之ByteArrayInput/OutputStream
  • (学习日记)2024.03.25:UCOSIII第二十二节:系统启动流程详解
  • (转) Android中ViewStub组件使用
  • (转)jQuery 基础
  • .NET HttpWebRequest、WebClient、HttpClient
  • .Net mvc总结
  • .NET上SQLite的连接
  • .NET委托:一个关于C#的睡前故事
  • @for /l %i in (1,1,10) do md %i 批处理自动建立目录
  • @四年级家长,这条香港优才计划+华侨生联考捷径,一定要看!
  • [2023-年度总结]凡是过往,皆为序章
  • [ACTF2020 新生赛]Include
  • [android] 请求码和结果码的作用
  • [C#]DataTable常用操作总结【转】
  • [C#]获取指定文件夹下的所有文件名(递归)
  • [C++][数据结构][算法]单链式结构的深拷贝
  • [C++]四种方式求解最大子序列求和问题
  • [ComfyUI进阶教程] animatediff视频提示词书写要点