第六弹:爬取的bytes数据转字符串,老是报错,怎么办?
程序员文章站
2022-07-15 09:34:23
...
点击上方蓝色字体,星标公众号
我和zhenguo正在发起一场公益活动:
无私帮助大家解决难题,真正解决的那种!
问答起飞
如果你平时遇到任何困扰你已久的问题,可以加群,告诉我们,统一记录到《QA》表中。
我们解决不了的,会在公众号内发起求助,总之,尽最大努力帮助你解决问题,真正解决的那种!
第六弹:套接字端口获取的bytes数据,转化为字符串型,老是报错?
群里面提出的问题如下:
了解bytes类型
很多读者对str
非常熟悉,但对bytes
类型较为陌生。str
和bytes
都是与字符串相关的表示对象,它们间可以互转。
In [1]: s='已接受到数据,status=200'
In [2]: bs = bytes(s)
In [3]: bs
Out[3]: b'\xe5\xb7\xb2\xe6\x8e\xa5\xe5\x8f\x97\xe5\x88\xb0\xe6\x95\xb0\xe6\x8d\x
ae\xef\xbc\x8cstatus=200'
bytes与str互转
bytes
函数将str
类型的s
转化为十六进制表示的串,默认的编码为:utf=8
。
通过bytes
编码后,如何再解码呢?使用decode
方法:
In [10]: bs.decode(encoding='utf-8')
Out[10]: '已接受到数据,status=200'
看到解码已经成功!也可以使用str
函数:
In [6]: str(bs,encoding='utf-8')
Out[6]: '已接受到数据,status=200'
以上经常在爬虫、socket编程中遇到,大家可了解一下。
Thinking in Pandas
一本我珍藏许久的数据分析Pandas使用书籍 PDF:《Thinking in Pandas》,8章,190页,总结的非常不错。需要的添加微信,单独发你。
上一篇: iOS 中 copy 的原理