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

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

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

在某些IDE中,字符串的输出总是出现乱码,甚至错误,其实是由于IDE的结果输出控制台自身不能显示字符串的编码,而不是程序本身的问题。

例如:ljq.py,编码为utf8,包含内容如下:

#-*-coding:utf-8-*- 

s='中文'
print type(s) #查看s的字符类型
print s  s.decode('utf8') #解码utf8,默认的编码方式是unicode
s.decode('gbk', "ignore") #解码utf8,忽略其中有异常的编码,仅显示有效的编码
s.decode('gbk', 'replace')
print type(s)
print ss.encode('gb2312') ##编码为utf8
print type(s)
print s

ljq.py编码必需与s.decode('utf8')指定的编码一致,不然会抛出解码异常信息,可以通过s.decode("gbk", "ignore")或s.decode("gbk", "replace")来解决。

另外对于一些包含特殊字符的编码,直接解码可能会报错,可以使用对于的参数来设置。如:
s.decode("utf-8", "ignore") 忽略其中有异常的编码,仅显示有效的编码
s.decode("utf-8", "replace") 替换其中异常的编码,这个相对来可能一眼就知道那些字符编码出问题了。

从unicode转str,被看做是把一个信息文本编码为二进制字节流的过程,要用encode方法

Python字符串的编码与解码(encode与decode)相关推荐

  1. 使用Python字符串的编码与解码方法实现信息加解密

    代码思路很简单,字符串的encode()方法可以将其编码为字节串,在生成的字节串中插入干扰字节后无法正常解码,要想还原信息,必须清楚干扰字节的位置并删除后再使用decode()解码.本文代码重点在于演 ...

  2. 二十六、python中字符串的编码与解码,utf-8编码与解码,gbk编码与解码

    在python中,我们经常会使用到字符串的编码与解码,推荐你在写代码的过程中都用utf-8编码解码 1.utf-8编码用函数encode,例子,编码英文跟数字的时候,他只是在前面多了个b,编码中文的时 ...

  3. Python字符串与编码

    Python字符串与编码 计算机对文本进行编码的方式 ASCII码 由于计算机是美国人发明的,因此,最早只有127个字母被编码到计算机里,也就是大小写英文字母.数字和一些符号,这个编码表被称为ASCI ...

  4. decode函数python在哪里_Python基础知识——encode和decode函数

    以前我们介绍过,Python2.x中默认的编码的基础类型是unicode编码的类型,在Python3.x才转化为基于unicode的字符串. 那么我们在Python2.x的学习中就会遇到各种各样的编码 ...

  5. Python入门--字符串的编码与解码

    #字符串的编码转换 #编码与解码的方式 #编码:将字符串转换为二进制数据(bytes) #解码:将bytes类型的数据转换成字符串类型 ################################ ...

  6. python中的编码和解码_Python中“is”和“==”之间的区别,以及编码和解码,与

    Python中'is'和'=='的区别,以及编码与解码 Python中'=='和'is'的区别 (1)Python中'==' Python中'==比较变量的值,如果值相同返回True,如果不同返回Fl ...

  7. python编码问题之encode、decode、codecs模块

    原文链接 #先说说编解码问题 编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码. Eg: ...

  8. 【Python笔记】Python 中的编码与解码

    本文记录 Python2.x 和 Python3.x 中关于编码和解码的问题. 文章目录 1. 一些基本的概念 2. 编码格式 3. 编码和解码 4. Python3 的默认编码 1. 一些基本的概念 ...

  9. Python 中的编码与解码

    转载来源:https://zhuanlan.zhihu.com/p/38293267 1.一些基本的概念 比特 / bit:计算机中最小的数据单位,是单个的二进制数值 0 或 1 字节 / byte: ...

最新文章

  1. 上市3年市值缩水9成,AI教育第一股流利说谋求私有化
  2. SharePoint 2013 搭建负载均衡(NLB)
  3. 基于 DDD 设计并实现模块化单体应用
  4. Android切换到主线程
  5. 开箱即用的微服务框架 Go-zero(进阶篇)
  6. android 用webView作为编辑器 各种问题
  7. 小雨的矩阵(DFS三参数模板题)
  8. 【博弈论】bzoj1115 [POI2009]石子游戏Kam
  9. 利用SQL语句自动生成序号的两种方式
  10. 宝塔更换域名_搭建小程序之BT宝塔面板的操作使用教程
  11. matlab里用simulink仿真教程,Matlab-Simulink仿真教程课件.ppt
  12. pdf加水印怎么加?
  13. windows10桌面壁纸的储存地址在哪里
  14. BugKu CTF(杂项篇MISC)---哥哥的秘密
  15. [uboot]MLO和uboot-spl.bin, uboot.img和uboot.bin
  16. eclipse中servers(服务器)的配置
  17. 【MySQL】按各科成绩进行排序,并显示排名
  18. 为什么现在那么多公司都要招聘测试开发?测试开发是什么?
  19. 个人关于面试的一些总结
  20. pinctrl子系统初始化RGB灯

热门文章

  1. python爬虫开发 从入门到实战_python网络爬虫从入门到实战开发
  2. oracle定时关闭job,Oracle 定时JOB
  3. python处理json数据_python处理json格式的数据
  4. python程序设计之文件_Python程序设计之文件操作(2)
  5. jsp文件能转换html吗,html怎么转换成jsp
  6. PCM设备在电网系统中的应用介绍
  7. 串口转换器的工作方式及通讯模式介绍
  8. 【渝粤教育】国家开放大学2018年秋季 1133t文献检索 参考试题
  9. 【渝粤教育】21秋期末考试计量经济学10551k1
  10. 【渝粤教育】广东开放大学 地基与基础 形成性考核 (27)