Python报错:TypeError: a bytes-like object is required, not ‘str‘_tobytes报错_程序媛三妹的博客-程序员秘密

技术标签: python  Python  

Table of Contents

一、问题

二、问题原因

三、解决办法

四、额外补充

1、str to bytes

2、bytes to str


一、问题

TypeError: a bytes-like object is required, not 'str'

二、问题原因

原因是 Python3 和 Python2 在套接字返回值解码上有区别。

这里简单解释一下套接字。套接字就是 socket,用于描述 IP 地址和端口,应用程序通过套接字向网络发出请求或者应答网络请求,可以认为是计算机网络的数据接口。目前套接字分为两种:基于文件型和基于网络型。

三、解决办法

使用函数 encode() 和 decode():

1、str 通过 encode() 函数编码为 bytes

2、bytes 通过 decode() 函数编码为 str。(当我们从网络或磁盘上读取了字节流,则读到的数据就是 bytes)

四、额外补充

1、str to bytes

先声明一个字符串 s:

四种转换方式:

2、bytes to str

声明一个 bytes:

三种转换方式:

以上,问题解决~

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u011675334/article/details/108768482

智能推荐

html导航隐藏显示_weixin_33994444的博客-程序员秘密

<!DOCTYPE html><html><head><meta charset="UTF-8"><title></title><script src="js/jquery-1.11.3.min.js" ></script></head><script>...

error while loading shared libraries: libXXX.so.X: cannot open shared object file: No such file..._寰宇C++的博客-程序员秘密

方法1:编辑/etc/ld.so.conf文件,在新的一行中加入库文件所在目录;运行ldconfig,以更新/etc/ld.so.cache文件;方法2:在/etc/ld.so.conf.d/目录下新建任何以.conf为后缀的文件,在该文件中加入库文件所在的目录;运行ldconfig,以更新/etc/ld.so.cache文件;本人觉得第二种办法更为方便,对于原系统的...

python是用什么语言开发的-为什么我不建议你将python作为入门编程语言_weixin_37988176的博客-程序员秘密

现在流行的编程语言里,python的热度可谓是热的通红,python以其短小精悍的语法、以其高效的开发,简单入门作为亮点,迅速的在各个领域占有一席之地。然而,无论你说python有多好,我都不建议你学它入门,其理由如下:1、有句话叫做:人生苦短,我用python!这句话没错,只不过你认真看,人家是用,不是初学!2、python的特点是易读、易维护,并且被大量用户所欢迎注意,仍然是用户,不是初学者。...

Vue基础知识总结 4:vue组件化开发_哪 吒的博客-程序员秘密

一、函数式编程1、函数式编程简介函数式编程是种编程方式,它将电脑运算视为函数的计算。函数编程语言最重要的基础是λ演算(lambda calculus),而且λ演算的函数可以接受函数当作输入(参数)和输出(返回值)。和指令式编程相比,函数式编程强调函数的计算比指令的执行重要。和过程化编程相比,函数式编程里函数的计算可随时调用。filter函数自动过滤对象的所有元素,返回true才会存入指定对象;Reduce函数对数组内部的所有元素进行汇总;2、代码实例<!DOCTYPE

深入理解Tomcat容器的结构_tomcat容器的理解_loulanyue_的博客-程序员秘密

一.Tomcat 总体结构1.Server(服务器)是Tomcat构成的顶级构成元素,所有一切均包含在Server中,Server的实现类StandardServer可以包含一个到多个Services。2.次顶级元素Service的实现类为StandardService调用了容器(Container)接口,其实是调用了Servlet Engine(引擎),而且StandardServic...

结构的艺术:模糊查询_模糊查询算法_算法吹的博客-程序员秘密

系统的学过编程的人应该都知道,有一门基础课:《数据结构与算法》,这门课很重要,但是许多人却不怎么重视,导致后来算法学习频频碰壁。我不会给大家系统的讲数据结构,但是我会给大家讲一些很有趣的结构,下来的学习还是得靠大家自己努力啦。 这次讲的是模糊查询。

随便推点

Laravel 5 系列入门教程(一)【最适合中国人的 Laravel 教程】_SQZHAO的博客-程序员秘密

本教程示例代码见:https://github.com/johnlui/Learn-Laravel-5  大家在任何地方卡住,最快捷的解决方式就是去看我的示例代码。Laravel 5 中文文档:1. http://laravel-china.org/docs/5.02. http://www.golaravel.com/laravel/docs/5.0/

如何解决WARNING C4996问题_warningc4996_不负韶华-z的博客-程序员秘密

如何解决WARNING C4996问题在VS编译器中经常会出现warning C4996警告问题,如:warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WAR...

1 Device Under Test(DUT)_luoai_2666的博客-程序员秘密

功能验证 用SV SC V 易语言覆盖率驱动的随机约束激励设计师:架构-分模块写代码验证师:同时做verification plan-testbench,比RTL代码编写复杂几倍

USB设备的VID与PID_bobuddy的博客-程序员秘密

USB(Universal Serial BUS,通用串行总线)协议规定,所有的USB设备都有VID(Vendor ID,供应商识别码)和PID(Product ID,产品识别码)。VID由供应商向USB-IF(Implementers Forum,应用者论坛)申请。每个供应商的VID是唯一的,PID由供应商自行决定。主机通过VID和PID来识别不同设备,根据它们(以及设备的版本号),可以给设备加

【转自YoungBoy】FLEX BUILDER3正式版 AIR正式版破解补丁_iteye_3224的博客-程序员秘密

Flex Builder 3.0正式版+破解补丁<!-- 底部广告 --><!--google_ad_client = "pub-6015991121575065";google_alternate_color = "FFFFFF";google_ad_width = 468;google_ad_height = 60;google_ad_format =...

推荐文章

热门文章

相关标签