decode encode区别_python encode函数

decode encode区别_python encode函数encode:编码decode:解码python内部编码方式为unicode,decode将其他编码方式转换成unicode编码方式,encode将unicode转换成其他编码方式。因此unicode相当于一个中转:(1)decode->unicode->encode(2)encode->unicode->decode字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符…

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

Jetbrains全系列IDE稳定放心使用

encode:编码
decode:解码
python内部编码方式为unicode,decode将其他编码方式转换成unicode编码方式,encode将unicode转换成其他编码方式。
因此unicode相当于一个中转:
(1)decode->unicode->encode 
(2)encode->unicode->decode 

 

字符串在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成其他编码
代码中字符串的默认编码与代码文件本身的编码一致。
如:s=’中文’
如果是在utf8的文件中,该字符串就是utf8编码,如果是在gb2312的文件中,则其编码为gb2312。这种情况下,要进行编码转换,都需要先用decode方法将其转换成unicode编码,再使用encode方法将其转换成其他编码。通常,在没有指定特定的编码方式时,都是使用的系统默认编码创建的代码文件。

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

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

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

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

出处:https://www.cnblogs.com/jack1989/p/10345627.html

 

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

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

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


相关推荐

  • 关于JavaScript 通讯加密的浅析(CryptoJs各种加密算法)

    关于JavaScript 通讯加密的浅析(CryptoJs各种加密算法)暂时支持的算法:MD5SHA-1SHA-256AESRabbitMARC4HMACHMAC-MD5HMAC-SHA1HMAC-SHA256PBKDF2相关的链接网址如下:http://blog.csdn.net/wangcunhuazi/article/details/41491995

    2022年5月2日
    53
  • linux怎么退出vi编辑器_linuxvi编辑器命令

    linux怎么退出vi编辑器_linuxvi编辑器命令有很多方法:退出Vi  当编辑完文件,准备退出Vi返回到shell时,可以使用以下几种方法之一。  在命令模式中,连按两次大写字母Z,若当前编辑的文件曾被修改过,则Vi保存该文件后退出,返回到shell;若当前编辑的文件没被修改过,则Vi直接退出,返回到shell。  在末行模式下,输入命令  :w  Vi保存当前编辑文件,但并不退出,而是继续等待用户输入命令。在使用w命令时,可以再给编辑文件起

    2022年9月28日
    3
  • N70/N72常见问题汇总

    N70/N72常见问题汇总引自:http://bbs.imobile.com.cn/viewthread.php?tid=1092547这里是一些常见的问题,求助前请看里面有没有你需要的答案,或者善用论坛的搜索功能已更新至第四楼为什么我看不到手机或内存卡上的system文件夹?在手机上看这个文件夹需要安装第三方文件管理软件fileman、SeleQ、Fexplorer等文件管理软件如果要在电脑上看到这个文件夹需要将卡…

    2022年7月11日
    16
  • java编译后执行 错误:找不到或无法加载主类「建议收藏」

    java编译后执行 错误:找不到或无法加载主类「建议收藏」使用java命令运行class文件提示“错误:找不到或无法加载主类“的问题分析有时候我们需要直接用jdk提供的java命令来执行class文件让软件运行起来,特别是很多初学者,但经常会发现如下提示:用eclipse或用ant则没有问题。其实原因很简单,我们忽略了2个细节。1.java指令默认在寻找class文件的地址是通过CLASSPATH环境变量中指定的目录中寻找的。2….

    2022年5月30日
    92
  • OpenGrok简单使用说明「建议收藏」

    OpenGrok简单使用说明「建议收藏」opengrok查看android源码简单的使用说明,快速搜索定位代码位置。。

    2022年5月6日
    54
  • apk反编译后smali文件_apk反编译失败

    apk反编译后smali文件_apk反编译失败APK反编译之一:基础知识原文作者:lpohvbe| http://blog.csdn.net/lpohvbe/article/details/7981386APK、Dalvik字节码和smali文件APK文件  大家都应该知道APK文件其实就是一个MIME为ZIP的压缩包,我们修改ZIP后缀名方式可以看到内部的文件结构,例如修改后缀后用RAR

    2022年9月2日
    4

发表回复

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

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