专栏首页python3python的encode和decode

python的encode和decode

python的encode和decode误读总结

    最近在学Python,对编码有个误解的地方

    下面是错误的理解:

    encode():编码,将对象的编码转换为指定编码格式,按照字面理解,一直以为是其他编码格式转换成unicode格式编码

    decode():解码,是编码的逆过程。解析破译,把Unicode格式转换成其他格式。

    查看一些资料和其他大神的博客,才有了正确认知和理解

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

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

    python是个容易出现编码问题的语言。所以,我按照我的理解写下下面这些文字。 

    首先,要了解几个概念。

    *字节:计算机数据的表示。8位二进制。可以表示无符号整数:0-255。下文,用“字节流”表示“字节”组成的串。 

    *字符:英文字符“abc”,或者中文字符“你我他”。字符本身不知道如何在计算机中保存。下文中,会避免使用“字符串”这个词,而用“文本”来表 

示“字符”组成的串。 

    *编码(动词):按照某种规则(这个规则称为:编码(名词))将“文本”转换为“字节流”。(在python中:unicode变成str) 

    *解码(动词):将“字节流”按照某种规则转换成“文本”。(在python中:str变成unicode) 

    **实际上,任何东西在计算机中表示,都需要编码。例如,视频要编码然后保存在文件中,播放的时候需要解码才能观看。 

    unicode:unicode定义了,一个“字符”和一个“数字”的对应,但是并没有规定这个“数字”在计算机中怎么保存。(就像在C中,一个整数既 可以是int,也可以是short。unicode没有规定用int还是用short来表示一个“字符”) 

    utf8:unicode实现。它使用unicode定义的“字符”“数字”映射,进而规定了,如何在计算机中保存这个数字。其它的utf16等都是unicode实现。 

   总结:

   编码是把文本(字符串)转换成字节流,Unicode格式转换成其他编码格式

   解码是把字节流转换成字符串(文本),其他编码格式转成Unicode

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • python中文decode和encod

       字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode...

    py3study
  • python decode encode

    为什么会报错“UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1...

    py3study
  • 字符编码ascii、unicode、ut

    计算机是美国人发明和最早使用的,他们为了解决计算机处理字符串的问题,就将数字字母和一些常用的符号做成了一套编码,这个编码就是ASIIC码。ASIIC码包括数字大...

    py3study
  • 从方块效应&呼吸效应看编码量化参数对流控的作用

    最近我们做了一个小项目,通过对接亚马逊的开放API,将智能家居中的自营摄像头视频可以投屏到Alexa智能音箱上,可以对着喊一句:alexa,open the d...

    用户5796036
  • URI编码解码和base64

    概述 对于uri的编解码,在js中有3对函数,分别是escape/unescape,encodeURI/decodeURI,encodeURIComponent...

    欲休
  • python decode encode

    为什么会报错“UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1...

    py3study
  • 腾讯技术开放日 | 保障视频连线画质清晰且流畅,腾讯会议有这些优化实践

    导读 | 腾讯会议自去年12月底推出,在疫情期间极速扩容,日活跃用户超过1000万。面对数量庞大的用户,以及他们背后网络、设备的多样性,该如何针对各个场景进行...

    腾讯音视频实验室
  • python字符串编码

      python 2.x默认的字符编码是ASCII,默认的文件编码也是ASCII。

    py3study
  • 《5》python字符串和编码

    「5」python字符串和编码 ? 字符编码 最早只有127个字符被编码到计算机里,也就是大小写英文字母、数字和一些符号,这个编码表被称为ASCII编码,比如大...

    企鹅号小编
  • 字符编码ascii、unicode、ut

    计算机是美国人发明和最早使用的,他们为了解决计算机处理字符串的问题,就将数字字母和一些常用的符号做成了一套编码,这个编码就是ASIIC码。ASIIC码包括数字大...

    py3study

扫码关注云+社区

领取腾讯云代金券