首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >soc.recv到底返回了什么?

soc.recv到底返回了什么?
EN

Stack Overflow用户
提问于 2016-10-03 13:20:18
回答 1查看 372关注 0票数 1

根据python文档,python的socket ()方法返回“字节”类型的数组。

但是,如果打印出这个数组,看起来不像字节的东西也会出现:

代码语言:javascript
复制
\xd9\x01\x01\xa4\xe9\xcbV6\x15\xed|>g5\xfa\xbd\xe9Q\x19@i\x18\xff\

python字节对象是否有一些内部错误报告或其他什么?哪些不是返回的实际字节的字节对象?

还有一些更奇怪的例子:

代码语言:javascript
复制
\x00w\xd4\x04;\x9c\x0b}>P]\xa4\xbd\xa5n:9x\xe3>9\xd2/~8\

\x01\x01\x1b ,Y\x00\x00\x00\x00\x00\xf4

\xa0A\n\xd7tB}\xed,\xc0\x00\
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-03 13:23:25

recv确实返回原始字节。只有在打印过程中,Python字节才会采用ASCII编码,如果该值属于ASCII可打印值的范围,它将将其打印为由该8位值表示的ASCII字符。如果不是ASCII可打印的,它就用\x转义值并打印十六进制。

注意,如果使用python3.5,可以对上面的字节调用.hex,并查看十六进制值。这将确认您正在获得所期望的值。

您可以通过使用Wireshark或类似的方法来验证您发送的值是否符合您的期望,只有在打印中才能看到这一点。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39832670

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档