Quake、OO、MS Office 07 のようなアプリ用のファイル形式を作成したいと考えています。
基本的には、圧縮されていない zip フォルダーまたは tar ファイルです。
これはクロス プラットフォーム (Mac と Windows) である必要があります。
コマンドプロンプトとbashで何かできますか?
Quake、OO、MS Office 07 のようなアプリ用のファイル形式を作成したいと考えています。
基本的には、圧縮されていない zip フォルダーまたは tar ファイルです。
これはクロス プラットフォーム (Mac と Windows) である必要があります。
コマンドプロンプトとbashで何かできますか?
すべてのプラットフォームに移植可能で、構造化データを含む単一のファイルが必要な場合は、sqlite の使用を検討してください。単一のファイルとしてディスク上に存在するフル機能の ACID 準拠データベースを取得します。
ファイルに直接アクセスするためにリンクできるライブラリがあり、同様に使用できるコマンド ライン ツールもあります。使用している言語に関係なく、おそらくサポートされています。
Zip はどこでもサポートされています。必要なのはコンテナーだけである場合、それらは確かに優れたオプションです。
オープン ソースの7Zip圧縮形式をご覧ください。特定のニーズに合わせて、「アーカイブ」モードで使用できます。圧縮はありませんが、非常に高速です。
次のサイトから強力な SDK、LZMA を提供します。
「LZMA は、7-Zip プログラムの 7z 形式のデフォルトかつ一般的な圧縮方法です。LZMA は、高い圧縮率と非常に高速な解凍を提供するため、組み込みアプリケーションに非常に適しています。たとえば、ROM (ファームウェア) 圧縮します。
LZMA SDK は、LZMA 圧縮を使用するアプリケーションを開発するために必要なドキュメント、サンプル、ヘッダー ファイル、ライブラリ、およびツールを提供します。」
SQLite は素晴らしいです。
単一のファイル、クロスプラットフォーム、小さなライブラリ、データへの SQL アクセス、トランザクション、エンチラーダ全体。
トランザクションを使用して、クラッシュした場合に一貫したリターン ポイントを保証できます。sqlite の使用を確認してください。特に、デスクトップ アプリケーションのデータ モデル レイヤーとして使用することを推奨しています。
また、データに手動でアクセスするためのコマンド ライン ツールもあります。
最初に自問すべきことは、「本当に自分で作る必要があるのか?」ということです。
何に使用するかにもよりますが、一般的な形式と、それらの形式の 1 つを既に非常にうまく処理するいくつかの既製のライブラリを使用する方がよいでしょう。
開始するのに適した場所: http://www.destructor.de/libtar/index.htm (tar -- 「コンテナ」形式) http://www.zlib.net/ (zlib -- データを圧縮する方法)容器に入れる前後)
それでも本当に自分で作成する必要があると思われる場合は、tar の形式など、非常に単純なものを最初に勉強することをお勧めします。
http://en.wikipedia.org/wiki/Tar_(file_format) または http://schmidt.devlib.org/file-formats/tar-archive-file-format.html
フォーマットを作る代わりに、慣習を決めるだけです。コンテナー内の 1 つ以上の名前付きファイルには、残りのファイルにアクセスするために必要なメタデータが含まれており、それらのファイルをどう処理するかがわかります。ただし、コンテナー自体は、zip などのどこにでもある形式にする必要があります。車輪を再発明する必要はありません。