ネットワークバイトオーダー・ビッグエンディアン・リトルエンディアンとは
並べ方
ビッグエンディアン
- データの上位バイトからメモリに並べる並べ方
- 1234とデータがあったら1234とメモリに格納する(実際にはちょっと違いますが)
利点
- バイナリダンプするとそのまま読める(人類に優しい)
リトルエンディアン
- データの下位バイトからメモリに並べる並べ方
- 1234とデータがあったら4321とメモリに格納する(実際にはちょっと違いますが)
利点
- コンピュータがデータを処理しやすい(コンピュータに優しい)
- 処理速度が早い
指定の仕方
- バイト順マーク(Byte Order Mark、通称BOM)と呼ばれる特殊なコード (U+FEFF) をデータの先頭に付与することで、データを受け取る側がエンディアンを判別できるようになっている
- BOMがない場合には、ビッグエンディアンだと決められている
ネットワークバイトオーダー
どんな時意識すればよいのか
- ネットワークを通してバイト単位でデータをやりとりする場合
- 異なるシステム間でバイナリファイル等を交換する場合
- 異なるシステムにプログラムを移植する場合
- 構成するプロセッサが異なるマルチプロセッサ環境で共有メモリを使用する場合
ガリバー旅行記 [ ジョナサン・スウィフト ] |