python encode和decode的区别_encode和decode的区别

python encode和decode的区别_encode和decode的区别字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码。decode的作用是将其他编码的字符串转换成unicode编码,如str1.decode(‘gb2312’),表示将gb2312编码的字符串str1转换成unicode编码。e…

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

Jetbrains全系列IDE稳定放心使用

字符串在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成其他编码

代码中字符串的默认编码与代码文件本身的编码一致。

python encode和decode的区别_encode和decode的区别

如:s=’中文’

如果是在utf8的文件中,该字符串就是utf8编码,如果是在gb2312的文件中,则其编码为gb2312。这种情况下,要进行编码转换,都需要先用decode方法将其转换成unicode编码,再使用encode方法将其转换成其他编码。通常,在没有指定特定的编码方式时,都是使用的系统默认编码创建的代码文件。

如果字符串是这样定义:s=u’中文’

则该字符串的编码就被指定为unicode了,即python的内部编码,而与代码文件本身的编码无关。因此,对于这种情况做编码转换,只需要直接使用encode方法将其转换成指定编码即可。

如果一个字符串已经是unicode了,再进行解码则将出错,因此通常要对其编码方式是否为unicode进行判断:

isinstance(s,unicode)#用来判断是否为unicode

用非unicode编码形式的str来encode会报错

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

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

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


相关推荐

  • vim的复制粘贴命令_vim编辑器常用命令

    vim的复制粘贴命令_vim编辑器常用命令接触linux操作系统之后使用vi/vim编辑器用的就比较多,其实vi/vim编辑文件特别方便,但是一些常见的指令模式下的命令确很容易忘,特别是复制剪切粘贴经常忘,所以小结下以后查用起来比较方便。1.复制剪切粘贴撤销复制:复制一行则:yy复制三行则:3yy,即从当前光标+下两行。复制当前光标所在的位置到行尾:y$复制当前光标所在的位置到行首:y^剪切:剪切一行:dd前切三

    2022年9月22日
  • Docker EE 统一应用程序管理功能大揭秘,你想要的都在这里!

    Docker EE 统一应用程序管理功能大揭秘,你想要的都在这里!

    2021年6月7日
  • PHP变量

    PHP变量

    2021年9月17日
  • group by 和 order by 的区别 + 理解过程

    group by 和 order by 的区别 + 理解过程orderby和groupby的区别order by 和 group by 的区别:1,order by 从英文里理解就是行的排序方式,默认的为升序。 order by 后面必须列出排序的字段名,可以是多个字段名。2,group by 从英文里理解就是分组。必须有“聚合函数”来配合才能使用,使用时至少需要一个分组标志字段。注意:聚合函数是—sum()、count()、…

    2022年5月9日
  • 安装drupal

    安装drupal1.把汉化文件拷贝到profiles/standard/translations/可以中文安装2.改变一个文件夹属性,cp一个文件。3.建立数据库4.开始安装,导入翻译中进度条卡死,硬盘不响了,刷新一下继续。5.设置网站名称信箱,管理员帐号信箱。6.安装开始,完毕,注意参阅install.txt文件。7.安装必须模块:Administrationmenu;a…

    2022年7月20日
  • 树的高度和深度 | 结点的高度和深度「建议收藏」

    树的高度和深度 | 结点的高度和深度「建议收藏」有个缺点,看到什么东西不管是不是重点只要说不通总是爱钻牛角尖。对于树的高度和深度(以及结点的高度和深度)看了几本不同的书,都有各自的说法,多方查证吧,花了很多时间,最后归纳一个能说服我的说法吧。(´。•ᵕ•。`)♡树的高度和深度深度是从上往下定义的,从根结点开始数,高度是从下往上定义的,从叶子结点开始数。这个涉及到结点的层数,有的教材规定根结点在第0层,有的则规定根结点在第一层。…

    2022年5月25日

发表回复

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

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