16進数はバイナリではありません。
16進数では、各文字(ASCIIコーディングのバイト/オクテット)は、0〜9およびAFの16個の値を表すことができます。256個の値を表すには2つの16進文字が必要です。
「バイナリファイル」では、各バイト(オクテット)は256個の値を表すことができます。
さて、バイナリを使用することのポイントは、それが「最も生の」フォーマットであり、決して人間の消費に役立つ必要がないということです。これにより、ファイルのデータ/オクテット比が大幅に向上します。
バイナリ形式は「IP」に役立ちますが、これは必ずしも主な目的ではありません。ファンによって書かれたエディターツールはたくさんあり(証拠として)、公式ツールも時々あります。
バイナリファイル構造はオフセットで決定でき、テキストファイルのように「行Xと列Yを読み取る」必要がなく、直接シークすることができます。これにより、リソースへのランダムアクセスがはるかに効率的になります。Baulder's Gateファイルの多くの場合、多くは「固定形式」であり、同じようにレイアウトされたメモリ内構造に簡単に(そしてすばやく)ロードできます。(ヒープやその他のデータ構造は、バイナリファイルに直接エンコードされる場合があります。)
バイナリファイルはデータの不透明な構造です。これは終了するための手段にすぎません。内部の情報は、特定のシナリオでのみアクセスできるように設計されています。(これをJSONまたはSQLデータベースと比較してください。前者は「人間が消費できる」限り不透明ではなく、後者は情報のみを公開します。)
さまざまな種類のバイナリファイルと、それぞれが提供するサービスを見てみましょう。オーディオ?画像?ルート?エンティティの場所と統計?ダイアログ?それぞれがエンジンの非常に特定のニーズに合わせて作成されており、「別の方法で実行できる」ものもありますが、必要がなく、既存のツールが用意されている場合は、なぜ変更するのでしょうか。