Python 中的编码转换 编码方案 中文解码 gbk , utf ,unicode

本文介绍如何使用Python处理不同编码的网页内容,重点讲解了利用chardet库检测网页编码及将不同编码转换为UTF-8的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

           近日,正在用python做网页解析,遇到了比较烦人的编码问题,特别时处理中英文结合的网页,编码方案很多的网页时,刚开始很是混乱,就像文章的标题一样。。。


对于字符编码,python推荐在进行数据处理时,使用unicode编码。


多种编码间的使用和转换,其基本思想是




例如:

       我想对各种不同编码的网页解析,并用utf-8编码输出保存。


       对于抓取到的网页首先判断是什么编码,这个可以使用一个强大的第三方库chardet 。


import chardet
......
the_page = response.read()
codetype = chardet.detect(the_page)


chardet.detect()



会返回类似这样的字典数据:


{'confidence': 0.99, 'encoding': 'utf-8'}{'confidence': 0.99, 'encoding': 'GB2312'}{'confidence': 1.0, 'encoding': 'ascii'}


通过  codetype['encodiing']   即可获得相应的编码。


转为unicode编码:

the_page.decode(codetype['encoding'],'ignore')


转为utf-8时,先转为unicode ,再从unicode转为utf-8 :

the_page.decode(codetype['encoding'],'ignore').encode('utf-8','ignore')



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值