欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > python >内容正文

python

pythonencode_python的encode和decode误读总结

发布时间:2023/12/19 python 41 豆豆
生活随笔 收集整理的这篇文章主要介绍了 pythonencode_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

创作挑战赛新人创作奖励来咯,坚持创作打卡瓜分现金大奖

总结

以上是生活随笔为你收集整理的pythonencode_python的encode和decode误读总结的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。