纯文本与二进制文件

时间:2017-10-02 16:39:58

标签: ip

当我读到信息是通过互联网以纯文本形式发送时,我有点困惑。我认为所有数据都是作为二进制数据发送的 - 例如像Django这样的网络服务器返回字节,而不是字符串。我错过了什么?

1 个答案:

答案 0 :(得分:2)

你缺少的是“纯文本”只是一系列字节。一般而言,字节是“二进制数据”,但二进制数据的子集是“ASCII编码的人类可读文本”,这就是我们所说的纯文本。

IP本身有一些框架,标题,标记和你有什么,这不是纯文本,但是像SMTP或HTTP这样的纯文本协议的TCP / IP数据包的有效负载很容易阅读。

您始终可以使用tcpdumpWireshark之类的工具来转储数据包并查看其中的内容。有很多examples of how this plays out,其中二进制数据如下所示:

0x0000:  4520 0054 882b 0000 3001 7cf5 45fe d52b  E..T.+..0.|.E..+
0x0010:  4815 222a 0800 3530 272a 0000 25ff d744  H."..50'..%..D
0x0020:  ae5e 0500 0809 0a0b 0c0d 0e0f 1011 1213  .^..............
0x0030:  1415 1617 1819 1a1b 1c1d 1e1f 2021 2223  .............!"#
0x0040:  2425 2627 2829 2a2b 2c2d 2e2f 3031 3233  $%&'()*+,-./0123
0x0050:  3435 3637                                4567

中间是数据的十六进制表示。右边是同文的明文表达。你可以看到最后它只是ASCII数据,即使早期的比特看起来像垃圾。