私はシェープファイル解析ライブラリを書いてきましたが、すぐには理解できない仕様の設計上の決定にいくつか遭遇しました。これらの事柄がなぜそうなのかを教えてくれる、賢明な古いESRI開発者がここにいることを望んでいます。
メインレコードファイル(.shp)は混合エンディアンです。具体的には、ヘッダーの一部はビッグエンディアンのバイト順を特徴としていますが、レコードはすべてリトルエンディアンです。私は通常、バイトやビットよりも高いレベルで作業しますが、エンディアンについてこれまで読んだことはすべて、これを異常であるとマークしています。なぜファイルは均一なエンディアンであると指定されていないのですか?
「ファイルの長さ」フィールドは、他の長さおよび位置フィールドと同様に、より標準的な(私の限られた観点から)8ビットのポジショニングではなく、16ビットのワードで記録されます。この決定はどのようにして達成されましたか?
Stack Overflowで同様の質問を投稿しましたが、応答がありませんでした。これが他の人にとって話題から外れているように思える場合、私はそれを閉じることをサポートできます。