设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
查看: 9412|回复: 8
打印 上一主题 下一主题

Lesson44-查天气输出结果乱码

[复制链接]

1

主题

0

好友

37

积分

新手上路

Rank: 1

跳转到指定楼层
楼主
发表于 2017-8-18 20:56:33 |只看该作者 |倒序浏览
如图,编码试过使用cp936和gbk都不行,请问是什么问题?

bug.png (274.25 KB, 下载次数: 239)

bug.png

回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

沙发
发表于 2017-8-19 00:28:13 |只看该作者
print(content.encode('utf8'))
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

1

主题

0

好友

37

积分

新手上路

Rank: 1

板凳
发表于 2017-8-19 23:13:37 |只看该作者
仍然不行,这次显示如下图,意思是不能对byte类型编码?


bug2.png (247.41 KB, 下载次数: 244)

bug2.png

回复

使用道具 举报

0

主题

0

好友

16

积分

新手上路

Rank: 1

地板
发表于 2017-8-19 23:34:08 |只看该作者
jy02225276 发表于 2017-8-19 23:13
仍然不行,这次显示如下图,意思是不能对byte类型编码?

建议您先到公众号回复 编码 , 查看  py3 编码知识,  了解 bytes --> str ,或者 str --> byte 的解决方案
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

5#
发表于 2017-8-20 11:38:04 |只看该作者
jy02225276 发表于 2017-8-19 23:13
仍然不行,这次显示如下图,意思是不能对byte类型编码?

py3的bytes -> str 应该是 decode
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

1

主题

0

好友

37

积分

新手上路

Rank: 1

6#
发表于 2017-8-20 22:49:58 |只看该作者
周鑫鑫 发表于 2017-8-19 23:34
建议您先到公众号回复 编码 , 查看  py3 编码知识,  了解 bytes --> str ,或者 str --> byte 的解决方案 ...

谢谢!我发现似乎是链接返回的数据有问题,使用chardet无法识别是什么类型的数据。

bug3.png (407.02 KB, 下载次数: 227)

bug3.png

回复

使用道具 举报

1

主题

0

好友

37

积分

新手上路

Rank: 1

7#
发表于 2017-8-20 22:51:04 |只看该作者
crossin先生 发表于 2017-8-20 11:38
py3的bytes -> str 应该是 decode

谢谢老师,又试了一遍,似乎是链接返回的数据有问题,用chardet无法识别。

bug3.png (407.02 KB, 下载次数: 229)

bug3.png

回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

8#
发表于 2017-8-21 16:09:38 |只看该作者
jy02225276 发表于 2017-8-20 22:51
谢谢老师,又试了一遍,似乎是链接返回的数据有问题,用chardet无法识别。 ...

关于gzip压缩,查天气的帖子里有说这个乱码怎么处理

或者你直接改用 requests 库来做更方便
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

1

主题

0

好友

37

积分

新手上路

Rank: 1

9#
发表于 2017-8-22 22:37:46 |只看该作者
crossin先生 发表于 2017-8-21 16:09
关于gzip压缩,查天气的帖子里有说这个乱码怎么处理

或者你直接改用 requests 库来做更方便 ...

谢谢老师,参考老师的回答和第三方资料,问题已解决。
方法一带入gzip模块和方法二采用requests模块都成功了。
一开始还担心是数据源有问题,最后还是运用方法的问题。

附上参考资料供后面的同学解决此问题。
1、 如何解决“Python 3.6中 'utf-8' codec can't decode byte invalid start byte?”(即Bytes的导入问题)
https://segmentfault.com/q/1010000008631001
2、BytesIO与StringIO的异同
https://www.zhihu.com/question/49102468
3、安装requests模块的方法
http://www.jb51.net/article/80959.htm(即命令行输入pip install requests即可自动安装





查天气成功-导入gzip模块方法.png (332.52 KB, 下载次数: 235)

导入gzip模块的方法

导入gzip模块的方法

查天气成功.png (309.2 KB, 下载次数: 218)

采用requests模块的方法

采用requests模块的方法

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-6-2 08:37 , Processed in 0.027757 second(s), 26 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部