gpt4 book ai didi

python - soc.recv 到底返回什么?

转载 作者:太空宇宙 更新时间:2023-11-03 16:05:38 24 4
gpt4 key购买 nike

根据Python文档,Python的套接字recv()方法返回一个“byte”类型的数组。

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

\xd9\x01\x01\xa4\xe9\xcbV6\x15\xed|>g5\xfa\xbd\xe9Q\x19@i\x18\xff\

Python 字节对象是否有一些内部错误报告之类的?这些看起来不是返回的实际字节的字节对象是什么?

一些更奇怪的例子:

\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\

最佳答案

recv确实返回原始字节。仅在打印时,Python 字节采用 ASCII 编码,如果该值落在 ASCII 可打印的值范围内,它将打印为该 8 位值表示的 ASCII 字符。如果不是 ASCII 可打印的,它会使用 \x 转义该值并打印十六进制。

请注意,如果您使用的是 python 3.5,您可以对上面的字节调用 .hex 并查看十六进制值是什么。这应该确认您获得了预期的值。

请随意使用 Wireshark 或类似工具验证您发送的值是否符合您的预期,只有在打印中您才会看到这一点。

关于python - soc.recv 到底返回什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39832670/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com