ネットワークバイトオーダー
読み:ネットワークバイトオーダー
外語:network byte order

 インターネット等のネットワークで用いられる、複数バイトからなるデータ列のデータの並び順のこと。「N形式」ともいう。対語はホストバイトオーダー
目次

概要
 インターネットで用いられるネットワークバイトオーダーは、最上位バイトが先に配置されるビッグエンディアンである。
 従って、x86等で一般的なバイトオーダーのシステムは、随時エンディアンネスを変換する必要がある。

特徴
 C/C++のBSDソケットプログラミングにおいては、次のような機能が用意されている。
 #include <arpa/inet.h>
 uint32_t htonl(uint32_t hostlong);
 uint16_t htons(uint16_t hostshort);
 uint32_t ntohl(uint32_t netlong);
 uint16_t ntohs(uint16_t netshort);
 32ビットのものはIPv4アドレス用、16ビットのものはポート番号用で、htonがホストバイトオーダーをネットワークバイトオーダーに、ntohはネットワークバイトオーダーをホストバイトオーダーに変換する関数である。
 この関数を使用することで、ホストバイトオーダーがビッグエンディアンの環境であってもなくても、ソースの互換性を取ることが出来る。

再検索