python中decode和encode的区别_python中decode和encode区别

python中decode和encode的区别_python中decode和encode区别#-*-coding:utf-8importsys”’*首先要搞清楚,字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码。decode的作用是将其他编码的字符串转换成unicode编码,如str1.decode(‘gb231…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

#-*-coding:utf-8

import sys

”’

*首先要搞清楚,字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,

即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码。

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

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

总得意思:想要将其他的编码转换成utf-8必须先将其解码成unicode然后重新编码成utf-8,它是以unicode为转换媒介的

如:s=’中文’

如果是在utf8的文件中,该字符串就是utf8编码,如果是在gb2312的文件中,则其编码为gb2312。这种情况下,要进行编码转换,都需要先用

decode方法将其转换成unicode编码,再使用encode方法将其转换成其他编码。通常,在没有指定特定的编码方式时,都是使用的系统默认编码创建的代码文件。

如下:

s.decode(‘utf-8’).encode(‘utf-8’)

decode():是解码

encode()是编码

isinstance(s,unicode):判断s是否是unicode编码,如果是就返回true,否则返回false*

”’

”’

s=’中文’

s=s.decode(‘utf-8’) #将utf-8编码的解码成unicode

print isinstance(s,unicode) #此时输出的就是True

s=s.encode(‘utf-8’) #又将unicode码编码成utf-8

print isinstance(s,unicode) #此时输出的就是False

”’

print sys.getdefaultencoding()

s=’中文’

if isinstance(s,unicode): #如果是unicode就直接编码不需要解码

print s.encode(‘utf-8’)

else:

print s.decode(‘utf-8’).encode(‘gb2312’)

print sys.getdefaultencoding() #获取系统默认的编码

reload(sys)

sys.setdefaultencoding(‘utf8’) #修改系统的默认编码

print sys.getdefaultencoding()

原文链接:https://blog.csdn.net/qq_34162294/article/details/53727357

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/184910.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • msyql多个or,and,

    msyql多个or,and,

    2022年3月3日
  • Android 面试精华题目总结

    Android 面试精华题目总结下面的题目都是楼主在android交流群大家面试时遇到的,如果大家有好的题目或者好的见解欢迎分享,楼主将长期维护此帖。1、请解释下在单线程模型中Message,Handler,MessageQueue,Lopper之间的关系。2、如果有个100M大的文件,需要上传至服务器中,而服务器form表单最大只能上传2M,可以用什么方法。3、内存溢出和内存泄漏有什么区别

    2022年5月22日
  • 利用R语言画图时添加希腊符号标注

    我们在画图时往往需要添加一些图形标注,例如,x坐标轴的含义,y坐标轴的含义,图例等。标注中的普通的英文符号自不待说,将希腊符号添加在标注中往往是各种画图工具需要特别处理的地方。在LaTeX、Matlab中画出这些希腊符号标注,我已经尝试过,并且使用它们已经有一段日子了,关键是如何R中画出这些希腊符号。R是一个开源的以编程语言方式提供的(本身也称为R语言)可以与其他类似软件相媲美的统计计算软件包

    2022年4月14日
  • AT命令集详解_at命令详解

    AT命令集详解_at命令详解1.AT的历史与应用   1.1AT的历史AT命令集是由拨号调制解调器(MODEM)的发明者贺氏公司(Hayes)为了控制Modem发明的控制协议.AT是Attention的缩写,协议本身采用文本.每个命令均以AT打头,因此得名.这段历史参见http://en.wikipedia.org/wiki/Hayes_command_set 随着网络升级为宽带,速度很低拨号MODEM

    2022年10月25日
  • Npoi操作excel

    Npoi操作excel

    2021年8月20日
  • 5g切片隔离原理_5G切片编排器

    5g切片隔离原理_5G切片编排器5G网络切片安全隔离机制与应用*毛玉欣1,陈林2,游世林1,闫新成1,吴强1【摘要】介绍了满足多样化垂直行业应用的5G网络服务化架构和网络切片实现。针对5G网络架构重构、网络部署形态的变化,研究提出了网络切片端到端安全隔离的实现方法,包括切片在接入网络、承载网络和核心网络中的隔离实现。结合典型行业应用的要求,给出了定制化切片的隔离实现案例。【关键词】垂直行业;服务化架构;网络切片;切片隔离引用格式:毛玉欣,陈林,游世林,等.5G网络切片安全隔离机制与应用[J].移动通信,2019,4

    2022年9月28日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号