0

バイナリ形式と ASCII 形式の違いを知りたかったのです。問題は、行列操作を行うために PETSc を使用する必要があり、すべての行列がテキスト ファイルに保存されていることです。

PETSc には、これらの形式を処理するためのさまざまな規則があります。テキスト ファイルの形式は言うまでもなく、これらの形式が何であるかもわかりません。

あるフォーマットを別のフォーマットに変換する方法はありますか?

これは基本的な質問です。詳細な回答は、これを理解するのに本当に役立ちます。

4

2 に答える 2

8

直接の質問に答えると、ASCII とバイナリの違いはセマンティクスです。

ASCII はテキストとして解釈されるバイナリです。バイナリ コードの小さなサブセットのみが、理解可能な文字 (10 進数 32 ~ 126) として解釈できます。それ以外はすべて特殊文字 (ライン フィード、システム ベル、またはまったく別のものなど) です。より大きな文字は、他のアルファベットの文字にすることができます。 .

一般的なバイナリ データは ASCII 形式として解釈できますが、ASCII テキストでない場合は意味がない場合があります。

一般的な経験則として、ファイルをテキスト エディター (Microsoft Word などではなく、メモ帳など) で開いた場合、ファイルが完全に文字で構成されているか、主に文字、数字、およびスペースで構成されているように見える場合、ファイルはおそらくASCII として安全に解釈されます。テキスト エディタでファイルを開いてノイズがある場合は、生のバイナリとして解釈する必要がある可能性があります。

私はあなたが質問しているプログラムにあまり詳しくありません。私があなたの状況にあった場合、プログラムのドキュメントを参照して、「バイナリ」データ ストリームがどのような形式である必要があるかを調べます。詳細な説明が必要です。または、バイナリ データを生成するための付属のユーティリティ。自分でデータを生成した場合、おそらく ASCII 形式です。

于 2010-12-22T08:21:45.220 に答える
1

行列がテキスト ファイルにあり、プログラムがバイナリ ファイルからのみ読み取る場合は、おそらくうまくいきません。

バイナリ形式は、内部で使用するデータ構造 (またはシリアル化形式) の生のバイトです。

プログラム自体の助けがなければ、テキストをバイナリに変換する望みはほとんどありません。

プログラムにインポート形式がある場合は、それを探します。

于 2010-12-22T08:22:22.960 に答える