这是从od -cx
转储的输出(在Linux上,您可以使用echo -ne "\r\n\n" |od -cx
重现):
0000000 \r \n \n \0
0a0d 000a
0000003
正确的前2个字节应为0d0a
但输出0a0d
,为什么?
答案 0 :(得分:4)
因为你是在一个小端系统?一个16位整数将是高字节,后跟低字节;在这种情况下,第二个字节后跟第一个字节。
答案 1 :(得分:0)
因为您的计算机使用所谓的"little-endian"方法来表示内存中的单词(x86处理器体系结构是小端系统的常见示例)。
答案 2 :(得分:0)
因为它将它读作短片而不是字节。短路是2字节反转。