1

バイナリから変換されたデータファイルの読み取りを高速化することを目指しています(「バイナリ」はさまざまな意味を持つ可能性があることを理解しています。自分が持っているバイナリファイルの種類はわかりません。バイナリファイル)をプレーンテキストに変換します。しばらく前にファイルの読み取りを調べたところ、バイナリファイルの読み取り/解析はテキストよりも高速であることがわかりました。そこで、プログラムを高速化するために、(平文に変換された)バイナリファイルを解析/読み取りたいと思います。

このプロジェクトにはMatlabを使用しています(ファイル内のデータを必要とするMatlab「プログラム」があります)。バイナリのさまざまな「タイプ」に関する情報が必要だと思いますが、そのバイナリファイルの読み取り/解析方法に関する情報が本当に必要です(プレーンテキストで探しているものがわかっているので、変換する必要があると思います)それをバイナリに変換し、ファイルを検索してから、結果をプレーンテキストに引き出します)。それが何らかの形で役立つ場合、ファイルはログファイルです。

ありがとう。

4

2 に答える 2

0

データをバイナリ ファイルに保存する簡単な方法は、「保存」コマンドを使用することです。保存された変数からロードすると、テキスト ファイルからロードする場合よりも大幅に高速になります。

于 2012-11-09T22:12:27.037 に答える
0

あなたが求めていることにはいくつかの問題があります -- しかし、あなたが読んでいるファイルのフォーマットを知る必要があります。「位置 xx で、データ yy を見つけることが期待できます」と言うことができる場合、それはあなたが知る必要があることです。あなたの質問/コメントでは、文字列の検索について話しています。また、(テキスト ファイルのように) 「ファイル内で xxxx を見つけたら、次のデータを n 番目の文字まで、または次の yyyy まで教えてください」ということもできます。

のドキュメントを見たいとしますfread。ドキュメントには、開始するためのコードのスニペットがありますが、私 (および他の人) が言ったように、バイナリ ファイルの形式を知る必要があります。やむを得ない場合は、16 進エディタを使用して情報を確認することもできますが、これらのファイルを出力するプログラムのドキュメントを参照する方が手っ取り早いでしょう。

さまざまな「バイナリ ファイル」に関しては、最下位バイトが最初または LSB が最後です。この作品では、そのことを知る必要はまったくありません。他のプラットフォームに依存する問題もありますが、それらについて知る必要はほぼないと確信しています (バイナリ ファイルを Mac から PC、UNIX マシンに移動する場合を除きます)。ドキュメントのほぼ最後まで読むfreadと、「他のシステムで作成されたファイルの読み取り」というタイトルのセクションがあり、問題とその対処方法について説明しています。

私がしなければならないもう1つのコメントは、「バイナリファイルの読み取り/解析はテキストよりも速い」と言います。これは正しくありません (または、そうであっても、パフォーマンスの向上に気付かない可能性があります)。ただし、開発時間に関しては、テキストファイルの読み取り/解析により、膨大な時間を節約できます。

于 2012-11-10T05:09:22.017 に答える