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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 2246xt u盘开卡详细教程_电脑重装系统:常规U盘PE装机详细教程~[通俗易懂]

    2246xt u盘开卡详细教程_电脑重装系统:常规U盘PE装机详细教程~[通俗易懂]系统重装:常规U盘PE装机详细教程!一适用条件此方法适用任何情况下的电脑系统新装、重装!8G大小的U盘X1微PE工具箱软件X1微软原版系统镜像文件X1PE系统我这里推荐使用微PE工具箱(优启动、老毛桃、大白菜都可以使用哪个看你自己心情)。在微PE官网下载工具箱安装包,推荐直接下载V2.0版本,支持NVME盘。如果你的…

    2022年6月12日
    30
  • Java过滤器CharacterEncodingFilter位置问题。[通俗易懂]

    Java过滤器CharacterEncodingFilter位置问题。[通俗易懂]转:https://segmentfault.com/a/1190000006184156前人就有的经验在开发javaweb应用的时候经常会遇到令人头痛的字符编码问题,期中一个就是客户端发送过来的请求的编码在请求头里并没有,开发人员需要在后端自己选择合适的encoding来解析request过来的参数。这个问题的解决办法很简单,就是写一个filter来过滤所有请求,然后设置一下req…

    2022年7月12日
    17
  • python安装jieba库教程_pygame库

    python安装jieba库教程_pygame库方法一:使用pycharm里的检索项(此方法适用于需要使用pycharm的小伙伴)1、打开pycharm,在File下打开Settings。2、在ProjectInterpret菜单栏下,点击”+”号。3、在上方的检索框中输入需要下载的库的库名,点击下方InstallPackage。4、如出现:package”jieba”installsuccessfully的字样,库安装成功。方法二:自行下载第三方库通过指令安装1、…

    2022年9月21日
    2
  • Mysql事务隔离级别_数据库默认的事务隔离级别

    Mysql事务隔离级别_数据库默认的事务隔离级别前言提到事务,你肯定不会陌生,最经典的例子就是转账,甲转账给乙100块,当乙的账户中到账100块的时候,甲的账户就应该减去100块,事务可以有效的做到这一点。在MySQL中,事务支持实在引擎层实现的,MySQL是一个支持多引擎的系统,但并不是所有引擎都支持事务。比如MySQL原生的MyISAM引擎就不支持事务,这也是MyISAM被取代的原因之一。隔离性事务的四大特性AC…

    2022年10月14日
    3
  • laravel 实现微博第三方登陆

    laravel 实现微博第三方登陆

    2021年10月25日
    47
  • 非空判断方法:IsNotEmpty和isNotBlank的区别。[通俗易懂]

    非空判断方法:IsNotEmpty和isNotBlank的区别。[通俗易懂]在项目中,我们用的最多的是StringUtils中的非空判断方法,相信大部分人都用过IsNotEmpty或者isEmpty方法 publicstaticbooleanisNotEmpty(Stringstr)判断某字符串是否非空,等于!isEmpty(Stringstr),这里不能排除空格字符示例:StringUtils.isNotEmpty(null)=falseStringU…

    2022年8月12日
    6

发表回复

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

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