windows下使用python3.6 遇到的编码问题

Demo源码:

# _*_ coding:utf-8 _*_
import urllib.request
"""python3 用的是urllib.request"""


def load_baidu():
    # 指定要访问的url
    url = 'http://www.baidu.com'
    # 发送请求 返回服务器的相应对象
    response = urllib.request.urlopen(url)
    # 读取相应文件中的数据
    data = response.read()
    print(data)
    print(type(data)) # <class 'bytes'>

    # 互连网上 都是用二进制进行传输 所以我们读取的数据是bytes类型
    # 处理数据时需要对接收的数据进行解码   解码城我们看得懂的编码进行处理
    new_data = data.decode()
    
    with open('python3_urllib.html','w+') as f:    
        f.write(new_data)
if __name__ == '__main__':
    load_baidu()
 运行后报错信息:

UnicodeEncodeError: 'gbk' codec can't encode character '\xbb' in position 28319: illegal multibyte sequence

  解决方案
 方法(1)、把Demo源码的第20行改为:
with open('python3_urllib.html','w+',encoding='utf-8') as f:
 就可以正常运行喽
 方法(2)、把Demo源码放到linux系统下的pycharm中运行 就不会报错。

  



转载于:https://www.cnblogs.com/m-j-y/p/8760820.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值