字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码。

decode的作用是将其他编码的字符串转换成unicode编码,如str1.decode('gb2312'),表示将gb2312编码的字符串str1转换成unicode编码。

encode的作用是将unicode编码转换成其他编码的字符串,如str2.encode('gb2312'),表示将unicode编码的字符串str2转换成gb2312编码。

因此,转码的时候一定要先搞明白,字符串str是什么编码,然后decode成unicode,然后再encode成其他编码。

转码的时候不禁要看代码本身的编码、文件的编码,还要看控制台的编码,这就是为什么同样是一段代码,在不同的系统(编码不同的)中会出现乱码的原因,如:

我的eclipse里面代码为utf-8编码的。然后我这样写代码
   s="你好"
   s=s.decode('gb2312').encode('utf-8')
   print s
   报错:
   UnicodeDecodeError: 'gb2312' codec can't decode bytes in position 2-3: illegal multibyte sequence
   原因:因为我的文件为UTF-8编码的。所以你想用gb2312将其转成unicode是不可能的。
   所以正确的写法应当是:
   s="你好"
   print s
   s=s.decode('utf-8').encode('utf-8') 要用UTF-8来做编码
   print s
   发现打印出来的是乱码那只能说明一件事情就是我的eclipse控制台是GB2312的编码!

转载于:https://blog.51cto.com/wangwei007/1215687

python中文decode和encode转码相关推荐

  1. python中decode和encode的区别

    首先要搞清楚,字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码, 即先将其他编码的字符串解码(decode)成unicode,再从unic ...

  2. Python JSON decode和encode

    Python: Decode和Encode JSON import json, dumps encode数据,loads decode数据. def DecodingJson(json_file):d ...

  3. python中文聊天机器人_[源码和文档分享]基于python的中文聊天机器人

    前言 发布这篇 Chat 的初衷是想和各位一起分享一下动手来做聊天机器人的乐趣,因此本篇文章适合用于深度机器学习的研究和兴趣发展,因为从工业应用的角度来看使用百度.科大讯飞的 API 接口会更加的适合 ...

  4. python的decode函数报错_python2和python3的编码encode解码decode函数

    python比较坑的一个点:意义完全变了的两个函数 首先 常用的编码方式有3种,utf-8:  常用的传输和存储格式,Unicode的一种简化 Unicode:包括了所有可能字符的国际统一编码 GBK ...

  5. python中文转码unicode_python 中文转码

    最近在玩一些爬虫,python中文转码刚接触是一件麻烦的事(转换的原理省略) 一般来说有encode('gbk'),edcode('utf8'),decode('gbk'),decode('utf8' ...

  6. python decode unicode encode

    字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(en ...

  7. python爬取小说出现乱码_详解Python解决抓取内容乱码问题(decode和encode解码)

    一.乱码问题描述 经常在爬虫或者一些操作的时候,经常会出现中文乱码等问题,如下 原因是源网页编码和爬取下来后的编码格式不一致 二.利用encode与decode解决乱码问题 字符串在Python内部的 ...

  8. python中decode函数在哪个库_python encode和decode函数说明

    字符串编码常用类型:utf-8,gb2312,cp936,gbk等. Python中,我们使用decode()和encode()来进行解码和编码 在python中,使用unicode类型作为编码的基础 ...

  9. Python解决抓取内容乱码问题(decode和encode解码)

    一.乱码问题描述 经常在爬虫或者一些操作的时候,经常会出现中文乱码等问题,如下 原因是源网页编码和爬取下来后的编码格式不一致 二.利用encode与decode解决乱码问题 字符串在Python内部的 ...

最新文章

  1. 计算机网络最提出的优点是什么,2013年计算机一级B考试模拟试题十八及答案解析...
  2. 机器学习算法基础——k-means原理
  3. 一天学完spark的Scala基础语法教程教程三、循环结构(idea版本)
  4. php页面修改器,读取器/修改器
  5. 年轻人,拼命奋斗还是保命要紧?
  6. 巴黎市中心降下2019年第一场雪
  7. 字节跳动offer流程多长时间_字节跳动-运营实习生-面经实录(已Offer??)
  8. C++ class实现链队列(完整代码)
  9. 小网站架构优化-提升抗并发能力:子应用程序分离方案
  10. 异构服务器的负载均衡及过载保护
  11. python是什么 自学-为什么自学python总是坚持不下去,这篇文章给你解答!
  12. 一位算法工程师从30+场秋招面试中总结出的超强面经—文本检测与GAN篇(含答案)...
  13. anaconda r 语言_Centos7系统下R、 Rstudio及sparklyr的安装与配置
  14. 锐起无盘服务器蓝屏死机,锐起无盘蓝屏怎么办?各类无盘蓝屏怎么办?
  15. AI:人工智能的本质与未来
  16. SAI2 安装及导入笔刷素材
  17. 日本官方版灌篮高手结局
  18. 职场饭桌:酒桌上的规矩,与领导吃饭如何谈话
  19. MockFlow线框图、原型软件
  20. 港股中的老千,千万别碰!

热门文章

  1. 每日一道算法题--leetcode 169--求众数--python--两种方法
  2. shell脚本监控cpu/内存使用率 转
  3. 用 python 实现各种排序算法(转)
  4. AngularJS入门(用ng-repeat指令实现循环输出)
  5. 对CSRF(跨站请求伪造)的理解
  6. 创新也要懂“规矩” 协同软件将走向何方
  7. Java多线程详解(深究Thread类)
  8. 复杂查询练习_MySQL基础知识—习题练习
  9. jde多目标_《和平精英》PEL职业联赛S3赛季:DKG战队获第四周周冠军,JDE“逆风翻盘”...
  10. html中异步上传文件实现示例,HTML_html中异步上传文件实现示例,复制代码代码如下: form actio - phpStudy...