使用 Python 通过 TCP 接收的字符串中的非二进制(十六进制)字符
也许这是一个菜鸟问题,但我正在通过 TCP 接收一些数据,当我查看字符串时,我得到以下内容:
\x00\r\xeb\x00\x00\x00\x00\x01t\x00< /code>
那个 \r
字符是什么?\x01t
中的 t
是什么意思?
我尝试过谷歌搜索,但我不知道谷歌搜索什么...
谢谢。
maybe this is a noob question, but I'm receiving some data over TCP and when I look at the string I get the following:
\x00\r\xeb\x00\x00\x00\x00\x01t\x00
What is that \r
character, and what does the t
in \x01t
mean?
I've tried Googling, but I'm not sure what to Google for...
thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
\r
是回车符 (0x0d),t
是t
。\r
is a carriage return (0x0d), thet
is at
.查看字符串中的二进制数据有时可能会令人困惑,尤其是当它们很长时,但您始终可以将其转换为更易于阅读的十六进制。
另外,如果您只是将字节字符串解析为字段,则只需忽略该字符串并直接使用
struct
模块:Viewing binary data in strings can sometimes be confusing, especially if they're long, but you can always convert it to some easier-to-read hex.
Also, if you're just parsing the byte string into fields, just ignore the string and just go right to unpacking it with the
struct
module:将数据显示为字符串时,可打印字符(例如“t”显示为字符,已知控制序列显示为转义符,其他字节以 \x## 形式显示。示例:
您可以使用以下命令转储十六进制形式:
When displaying data as a string, printable characters (such as 't' are displayed as characters, known control sequences are displayed as escapes, and other bytes are displayed in \x## form. Example:
You can dump a hexadecimal form with: