Python3中出现'gbk' codec can't encode characte的成功解决方法?

2023-11-10

亲身测试,所遇问题完全解决!
2018/07/08 21:37
环境:windows,Pycharm,python3.6.2
使用Python写文件的时候,或者将网络数据流写入到本地文件的时候,大部分情况下会遇到:UnicodeEncodeError: 'gbk' codec can't encode character '\xa0' in position ... 这个问题。 网络上有很多类似的文件讲述如何解决这个问题,但是无非就是encode,decode相关的,这是导致该问题出现的真正原因吗?不是的。 很多时候,我们使用了decode和encode,试遍了各种编码,utf8,utf-8,gbk,gb2312等等,该有的编码都试遍了,可是编译的时候仍然出现: UnicodeEncodeError: 'gbk' codec can't encode character '\xa0' in position XXX。 崩溃了。
    在windows下面编写python脚本,编码问题很严重。
    将网络数据流写入文件时时,我们会遇到几个编码:
    1: #encoding='XXX' 这里(也就是python文件第一行的内容)的编码是指该python脚本文件本身的编码,无关紧要。只要XXX和文件本身的编码相同就行了。 比如notepad++ "格式"菜单里面里可以设置各种编码,这时需要保证该菜单里设置的编码和encoding XXX相同就行了,不同的话会报错
    2:网络数据流的编码 比如获取网页,那么网络数据流的编码就是网页的编码。需要使用decode解码成unicode编码。
    3:目标文件的编码 要将网络数据流的编码写入到新文件,那么我们需要指定新文件的编码。写文件代码如:
复制代码代码如下:
f.write(txt)  
,那么txt是一个字符串,它是通过decode解码过的字符串。关键点就要来了:目标文件的编码是导致标题所指问题的罪魁祸首。如果我们打开一个文件:
复制代码代码如下:
f = open("out.html","w")  
,在windows下面,新文件的默认编码是gbk,这样的话,python解释器会用gbk编码去解析我们的网络数据流txt,然而txt此时已经是decode过的unicode编码,这样的话就会导致解析不了,出现上述问题。 解决的办法就是,改变目标文件的编码:
复制代码代码如下:
f = open("out.html","w",encoding='utf-8')  
。这样,问题将不复存在。
PS:    
1.str转bytes叫encode,bytes转str叫deco

2.常用的中文编码名称
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python3中出现'gbk' codec can't encode characte的成功解决方法? 的相关文章

随机推荐

  • CSS属性之渐变属性(gradient)

    渐变分为线性渐变和径向渐变 所谓渐变就是几种颜色之间的平稳过渡 线性渐变 线性渐变 linear gradient 实现线性渐变 你至少需要定义两种颜色的结点 这两种结点就是你想平稳过渡的颜色 即 其中一种颜色结点为起点 另一种颜色结点为结
  • 论文阅读—基于目标偏置的双向APF-RRT*算法的无人机轨迹规划

    基于目标偏置的双向APF RRT 算法的无人机轨迹规划 算法 APF选择最好的父节点 双向搜索树 主要提升策略 实验分析 J Fan X Chen and X Liang UAV trajectory planning based on b
  • 40核至强服务器性能如何,Intel 10nm 14核心至强曝光:同频性能暴涨54%

    日前我们曾经从GeekBench测试数据库里见到一颗疑似Intel 10nm Ice Lake SP服务器平台的6核心型号 外媒称对比现有14nm产品 多线程性能提升多达118 颇为不可思议 但真实性也有待检验 现在 SiSoftware数
  • 期刊分区常识

    作为一个科研工作者 了解期刊论文的一些基本常识是大有裨益的 这对于我们深入了解所从事领域的研究 和论文的写作与发表等都会有很大的帮助 比如对于期刊分区的问题 从事科研的人都听过 但是也许你并没有深入了解其概念和意义 尤其对于刚刚步入科研领域
  • 用docker 创建centos7 ,无法使用systemctl解决方法

    docker run privileged it d name centos odoo centos centos7 9 2009 usr sbin init 1 privileged it d 一定要加 2 name 后面是容器名称和使用
  • 一句话征服了美国人,这位饱受争议的数学博士竟从未上过学?

    全世界只有3 14 的人关注了 青少年数学之旅 前两天 有位不愿意透露姓名的模友问了超模君一个问题 虽然这个问题超模君已经解答过无数遍了 但看到模友如此虔诚的态度 超模君决定今天再给模友们讲一个犹太小伙用数学征服美国军官的故事 偌大维也纳
  • qt的visible hide 等布局隐藏函数

    https blog csdn net dbzhang800 article details 6300021
  • xpath手册

    XPath手册 源于ZVON AAA AAA CCC AAA DDD BBB BBB DDD BBB AAA CCC DDD BBB AAA BBB 1 AAA BBB last id BBB id BBB name BBB BBB not
  • 手机驱动工程师门,准备转行了吗

    前80后从事手机研发的年轻人目前已经人到中年后了 时间过得真的很快 从2004左右开始红火的山寨手机 已经耗去了你们青春 你们中的不少人也从中过得不错的收益 但随着iPhone的出现 智能手机视乎在一瞬间就冒了出来 大佬Nokia都没有缓过
  • 交换机与路由器技术-05-路由器工作原理

    目录 一 路由器的工作原理 1 1 回顾交换机的工作原理 1 2 回顾路由器相关知识 1 3 网络层IP数据包格式 二 路由器工作原理 2 1 路由 2 2 路由器工作模式 2 3 路由表 2 4 静态路由 2 5 动态路由 2 6 分层次
  • 独占指针 std::unique_ptr

    学习智能指针之前需要知道的 智能指针是原始指针的封装 在头文件
  • Unity延迟,协程

    Unity 学习笔记 主要记录一些重要以及易错的知识点 笔记目录 Unity 学习笔记 1 unity延时方法Invoke和InvokeRepeating 1 Unity Time类 2 Invoke 延迟后调用一次 3 InvokeRep
  • 关于看病报销额度

    1 社保医保 职工医保 统筹账户 在住院时可以报销大额医疗费用 个人账户 可以用来看门诊 药店刷卡买药等 城乡居民医保是没有个人账户的 所以不能用来刷卡买药等 只能用作报销 医保卡门诊每年报销400可以买药用的 参保居民在门诊统筹定点医疗机
  • wps如何自己制作流程图_怎么制作流程图,wps自动生成流程图方法

    在职场中我们要会熟练使用各种办公软件 才能提高我们的工作效率 下面我为大家分享三种制作流程图的方法 非常简单哦 一 在Word中制作流程图 1 首先点击 插入 再点击 形状 点击新建绘图画布 就出来画布了 2 再点击 插入 形状 会出现流程
  • IDEA配置tomcat并发布web项目的步骤

    目录 一 配置Tomcat具体步骤 1 创建一个项目 2 新建一个模块 3 添加框架支持 4 在IDEA 中部署工程到Tomcat 上运行 5 运行web程序 二 Tomcat服务器 1 Tomcat服务器介绍 2 Tomcat目录的介绍
  • 上海万应云数科——全国企业大数据信息底座

    上海万应云数字科技有限公司 基于企业全量数据库 重点具有如下几方面能力 1 量化管理 量化企业现状 全量信息 工商 行政 司法 知识产权 上市 经营等 量化企业标识 特征信息 五型经济 资质 产 业链 业务方向 信用 风险 量化企业发展 评
  • 【磕盐随记】关于位姿估计中的左导和右导,局部扰与全局扰动

    昨天写了一个点面ICP的小程序 用于评估退化性 我自己加一个扰动当作先验状态x0 R0 然后试图让扰动后的点云帧与地图匹配 以恢复扰动前的位置 原理很简单 只需要用高斯牛顿法求解 然后每次迭代重新搜索关联匹配就行了 但是 在这一过程中 我发
  • 【三分钟教程】docker快速部署nginx服务

    1 下载nginx镜像 root localhost docker pull nginx 1 14 1 14 Pulling from library nginx 27833a3ba0a5 Pull complete 0f23e58bd0b
  • 【Elasticsearch】学好Elasticsearch系列-Mapping

    本文已收录至Github 推荐阅读 Java随想录 先看后赞 养成习惯 点赞收藏 人生辉煌 文章目录 Mapping 的基本概念 查看索引 Mapping 字段数据类型 数字类型 基本数据类型 Keywords 类型 Dates 时间类型
  • Python3中出现'gbk' codec can't encode characte的成功解决方法?

    亲身测试 所遇问题完全解决 2018 07 08 21 37 环境 windows Pycharm python3 6 2 使用Python写文件的时候 或者将网络数据流写入到本地文件的时候 大部分情况下会遇到 UnicodeEncodeE