文档章节

关于编码转换中出现 c2 c3 的问题

S
 StSphinx
发布于 2015/12/09 16:39
字数 477
阅读 161
收藏 0

使用python爬取网页数据,str.decode('utf-8')之后,结果出现了好多乱码。 

某有限公司流动资金需求500万元(事隔好久了,好像不是这个段编码了)

 在查看了十六进制编码后发现

C3 A6 C5 B8 C2 90 C3 A6 C5 93 E2 80 B0 C3 A9 E2
84 A2 C2 90 C3 A5 E2 80 A6 C2 AC C3 A5 C2 8F C2
B8 C3 A6 C2 B5 C2 81 C3 A5 C5 A0 C2 A8 C3 A8 C2
B5 E2 80 9E C3 A9 E2 80 A1 E2 80 98 C3 A9 C5 93
E2 82 AC C3 A6 C2 B1 E2 80 9A 35 30 30 C3 A4 C2
B8 E2 80 A1 C3 A5 E2 80 A6 C6 92 20 2D 20 C3 A9
C2 A1 C2 B9 C3 A7 E2 80 BA C2 AE C3 A8 C2 AF C2
A6 C3 A6 C6 92 E2 80 A6 20 2D 20 C3 A9 E2 80 A1
E2 80 98 C3 A5 C2 AE C2 9D C3 A4 C2 BF C2 9D C3
A5 C2 B9 C2 B3 C3 A5 C2 8F C2 B0

发现其中存在众多c2 c3等字符,考虑是编码问题。

网上搜了一下发现是因为网站使用了Latin-1(ISO-8859-1)编码后,通过爬虫抓取页面文件后,便会形成utf-8编码的字符,这样初始字符串便被进行了二次编码。单纯使用decode('utf-8')便得到了Latin-1编码后的字符,而后,再以utf-8显示,就会出现上述问题了(p.s. 此处要区分字符串的编码和文本工具显示字符集的区别,字符串编码为按照某种特定格式形成的二进制值,文本工具的字符集则是要文本工具以何种编码规范显示某种编码后的字符串)。

解决方法很简单,再对字符串进行一次解码即可:

str.decode('utf-8').decode('Latin-1')

就会正确显示字符串如下:

 重庆某有限公司流动资金需求500万元

© 著作权归作者所有

共有 人打赏支持
S
粉丝 0
博文 18
码字总数 8025
作品 0
东城
私信 提问
关于数据结构与层级json的相互转换问题

关于数据结构与层级json的相互转换问题 表数据结构 A B C ------------- a1,b1,c1 a1,b1,c2 a1,b2,c3 a1,b2,c1 a2,b3,c4 a2,b1,c3 层级结构json [ { a1,[ {b1,[{c1},{c2}]}, {b2,[{c3},{c1}]......

PNo2656
03/01
0
0
utf-8与65001(utf-8)字符编码求助.

mysql utf8字符集 严 E4 B8 A5 65001(utf8) 严 C3 A4 C2 B8 C2 A5 现在出现两种字符串.我直接 select hex()出来,发现16进制是不对的,求高手解决一下这个如何转换. 上面的 3字节如何转换下面的...

回去干活
2013/06/23
4.1K
4
关于TMPL_STRIP_SPACE配置

TMPL_STRIP_SPACE开启后会去除模板文件里面的html空格与换行,但问题来了,模版类属性class="c1 c2 c3"中的c1,c2,c3间的空格也会被去除,让网站一团糟。这个问题要如何解决呢?...

pollolo
2013/07/22
461
2
Minimize Importing Header 学习

当我们在定义一个类C1的接口时,通常会在声明方法的时候,使用到另外一个类C2作为方法的参数,当时这个类并不知道这个作为参数类的任何信息,于是我们通常会直接把作为参数的类C2的头文件直接...

Herbert77
2015/09/02
5
0
MySQL · 答疑释惑 · UPDATE交换列单表和多表的区别

背景描述 之前我们遇到一个咨询,客户说: 同一个表,col1=a,col2=b,做 update,set col1=col2,col2=col1,这时候两个都是b 不同表,A表 col1=a,B表 col2=b,做 update,就能进行交换 为...

阿里云RDS-数据库内核组
2015/04/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

安装MyEclipse、激活MyEclipse、安装SVN插件

安装MyEclipse 1. 点击下载好的MyEclipse安装程序,弹出如下对话框,点击next 2. 勾选前面的方框,表示同意MyEclipse的协议,然后点击next。 3. 设置安装MyEclipse的路径,最好安装一个盘的根...

三度小姐
9分钟前
0
0
阿里巴巴的微服务开源之路

2019阿里云峰会·北京开发者专场 侠之大者,为国为民。 在金庸小说中,郭靖和黄蓉是“侠之大者,为国为民”的典范,他们以布衣之身帮助宋军守护襄阳十余年。 技术的世界里,并无大小之分。 ...

Mr_zebra
12分钟前
0
0
haproxy

Haproxy是一款免费、稳定、高效的轻量级负载均衡软件,现将其配置文件参数作如下说明: global #全局配置参数 global #全局配置参数 log 127.0.0.1 local3 info #日志级别 ...

拜了个拜
13分钟前
1
0
springmvc源码解析之@EnableWebMvc六

说在前面 本次主要介绍springmvc配置解析。更多精彩请关注“天河聊架构”微信公众号。 springmvc配置解析 @EnableWebMvc这个注解干了什么,初始化ViewResolver 进入到这个方法org.springfra...

天河2018
18分钟前
0
0
回调函数的那些事儿

实际工作中,对于回调函数一直是我不愿意去触碰的东西,一来由于被很多人搞得神秘兮兮的以为是很高深难懂的技术,二来在一般情况下通过互相包含类指针也能够解决问题,所以一直就不想去研究这...

rainbowcode
19分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部