网络字节序

网络字节序使用大端字节序:

#include <stdio.h>
#include <arpa/inet.h>

int main(void)
{
int k = 0x12345678;
    printf("%x %x %x %x
",*((char*)&k),*((char*)&k+1),*((char*)&k+2),*((char*)&k+3));
    k = htonl(k);
    printf("%x %x %x %x
",*((char*)&k),*((char*)&k+1),*((char*)&k+2),*((char*)&k+3));
}

所谓大端字节序,是指高字节存于内存低地址,低字节存于内存高地址;小端字节序相反。一般 x86 机器都为小端字节序,而网络(称为网络字节序)使用大端字节序。

原文地址:https://www.cnblogs.com/tianyajuanke/p/3739469.html