ネットワークバイト順

1669 ワード

ネットワークのバイト順は、エンド・ツー・エンドのバイト順を使用します.
#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)); }

大端バイトシーケンスとは、高バイトがメモリの低アドレスに格納され、低バイトがメモリの高アドレスに格納されることを意味する.小バイト順が逆です.一般的にx 86マシンは小エンドバイトシーケンスであり、ネットワーク(ネットワークバイトシーケンスと呼ばれる)は大エンドバイトシーケンスを使用する.