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

2021-11-04 16:52:21 浏览数 (1)

点击上方“Python爬虫与数据挖掘”,进行关注

回复“书籍”即可获赠Python从入门到进阶共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的区别做了简单讲解。但是小编相信肯定还有其他的说法的,也欢迎大家在评论区谏言。

0 人点赞