分享

Python中encode和encoding的区别是什么?

 Python进阶者 2023-02-10 发布于广东

今逢四海为家日,故垒萧萧芦荻秋。

    大家好,我是Python进阶者。

前言

    前几天有个叫【Alyine】的粉丝在问了一道关于Python编码的问题,如下图所示。

    说来也巧合,就在前几天路飞学城的樵夫老师在xxx云音乐JS逆向的公开课上讲JS逆向破解的时候,也涉及到了这两个东东,当时讲的很快,很多小伙伴们估计也有些蒙圈。

    可以看到下图的代码中,encode()直接上来就是个函数,而没有加utf-8这样的编码字样。

    作为有些强迫症的小编,我是看不下去的,虽然我也看了他的课程,但是小编自己加上编码,也并没有报错。

一、思路

    其实解决问题的关键点就是在一点,搞清楚编码之间的关系就可以了。其实关于编码的文章,在之前的文章,小编也写了好几篇了,感兴趣的小伙伴,为了补习一下基础,可以前往:一篇文章助你理解Python3中字符串编码问题浅谈unicode编码和utf-8编码的关系,这里就不针对编码各大家族进行赘述了。

二、分析

    encode()函数默认为utf-8类型,正是因为如此,所以在上面是否加utf-8编码,都能够正常的进行解析。它的作用是将unicode编码转换成其他编码的字符串,如str2.encode('gb2312'),表示将unicode编码的字符串str2转换成gb2312编码。encode()函数一般用于字符串转换,在网络爬虫的时候经常会用到。

    encoding='编码类型',将字符串转换为指定编码的bytes,一般用于读写文件的时候用到。

三、总结

    我是Python进阶者。本文基于粉丝提问,针对encode和encoding的区别做了简单讲解但是小编相信肯定还有其他的说法的,也欢迎大家在评论区谏言。

------------------- End -------------------

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多