decode encode区别_python decode和encode

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://javaforall.net/184982.html原文链接:https://javaforall.net

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


相关推荐

  • 软件测试流程(完整版)

    软件测试流程(完整版)单纯从功能测试层面上来讲的话,APP测试、web测试在流程和功能测试上是没有区别的根据两者载体不一样,则区别如下:1.系统结构方面web项目:b/s架构,基于浏览器的;web测试只要更新来服务器端,客户端就会同步更新app项目:c/s架构,必须要有客户端;app修改来服务端,则客户端用户所有核心版本都需要进行回归测试一遍。2.性能方面web项目需监测响应时间,CPU、Memo…

    2022年6月7日
    45
  • springboot源码调试

    springboot源码调试学习springboot,第一步官网下载源码然后编译地址:https://github.com/spring-projects/spring-boot/1.选择tag2.进入后选择的版本是2.2.2的版本3.下载完成后解压到相应的文件夹下,进行编译,运行:mvncleaninstall-DskipTests-Pfast4.上述命令大概执行40分钟左右,下面给出已经编译好的链接地址:链接:https://pan.baidu.com/s/1YxZeD…

    2022年5月2日
    83
  • lookdiv激活码【2021最新】[通俗易懂]

    (lookdiv激活码)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

    2022年3月26日
    229
  • 枚举类型enum用法(enum类型)

    【1】什么是枚举类?  实例(也叫对象)有限而固定的类,在Java里被称为枚举类。    例如,季节类,它只有4个实例(春、夏、秋、冬),并且这4个实例不会改变。可以用枚举类来表示:publicenumSeasonEnum{SPRING,SUMMER,FALL,WINTER;}    枚举类是一种特殊的类,它一样可以有自己的成员变量、方法,可以实现一个或多个接口,也可以有自己的…

    2022年4月18日
    61
  • PYCHARAM3.7激活码破解方法

    PYCHARAM3.7激活码破解方法,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月14日
    35
  • 9b9t服务器显示连接超时,在WebRTC中ICE连接失败

    9b9t服务器显示连接超时,在WebRTC中ICE连接失败我们正在尝试将浏览器(客户端)与aiortc库(服务器,发送单个视频流)连接起来。目前,连接已成功建立(onsignalingstatechange稳定)。但是,媒体连接从未建立,因为ICE连接失败。这两台主机在同一个局域网上,并且已经验证了直接连接。使用的STUN服务器是STUN.l。谷歌:19302.在服务器上的日志如下:DEBUG:asyncio:Usingselector:Epol…

    2022年5月22日
    46

发表回复

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

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