您的位置:首页 > 编程语言 > Python开发

python ——网页爬虫乱码以及转码问题

2017-06-01 15:26 288 查看
前言:

Python 3最重要的新特性大概要算是对文本和二进制数据作了更为清晰的区分。

文本总是Unicode,由str类型表示,二进制数据则由bytes类型表示。

Python 3不会以任意隐式的方式混用str和bytes,正是这使得两者的区分特别清晰。

你不能拼接字符串和字节包,也无法在字节包里搜索字符串(反之亦然),

也不能将字符串传入参数为字节包的函数(反之亦然).

基本概念:

python文件编码声明:# -*- coding: utf-8 -*-

python内部文本所有编码是unicode

二进制数据则由bytes类型

中文编码类型名是gbk

正常输出类型名是utf-8

网页下载的数据是二进制数据

方法如下:

#判断输出内容contents是否是字节格式
if isinstance(contents,bytes):
#转成字符串格式
print ('格式不正确需转换')
contents=contents.decode('utf-8')
else:
print('输出格式正确,可以直接输出')
##输出的是字节格式,需要将字节格式解码转成’utf-8‘
print (contents)

参考链接:
Python3中内置类型bytes和str用法及byte和string之间各种编码转换

各种编码介绍
各种编码转换
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: