後藤弘茂のWeekly海外ニュース PCとゲーム機で鍵となるバイナリ変換技術とエンディアン変換
WindowsというかIntelプラットフォーム上で、TCP/IPアプリケーションを書いたことがある方なら誰でもいやな経験があると思うのがエンディアンの変換だ。Intelは伝統的にリトルエンディアンを採用しているが、世の中的にはビッグエンディアンをサポートするシステムの方が多く、また、インターネット上を流れるパケットはビッグエンディアンであることが推奨されるので、多システムとの連携をとる上ではエンディアンの変更がどうしても必要になる。
インターネットや他システム連携の話になった瞬間リトルエンディアンは劣勢に立たされるのだ。
AppleがMacをIntelプラットフォームに変更すると発表されたときにいらぬ心配をしたのがこのエンディアンの問題で、プログラム中至る所でエンディアンの変更が必要になってくるはずであり大変ねぇという感じだ。特に今までのプラットフォームで作成したバイナリで保存されているデータファイルは、そのままでは開けないのでいったんバイトストリームで取り込んで、地味に自分でバイト数を数えながらエンディアン変換をしていく必要があるだろう。
ようこそエンディアン変換の世界へという感じ
コメント