0

巨大な Unicode ファイルをプログラムに読み込み、解析のために ANSI に変換する必要があります。一部のファイルについては、それらを Univode として再度保存し、他のファイルは ANSI コード ページにする必要があります。

twidestring.loadfromfile私が理解しているように、単純な読み取り/書き込みは Unicode テキストをサポートしておらず、メモリ使用量と読み込み時間の両方から、最大のファイル (300 Mb またはそれ以上のサイズのものもある) の使用は問題外です。

ブロックをロードすることが解決策になるかどうか疑問に思っていましたが、私が知っているように、Unicode BOM をサポートしていませんか?

何か提案はありますか?

4

2 に答える 2

0

ドイツの「Delphi フォーラム」には、優れた非常に高速なテキスト リーダーがあります。メモリ マップ ファイルを使用します。

おそらく、Unicode テキスト ファイルを読み取るように変更することができます。ただし、BOM を自分でテストする必要がある場合があります。

于 2013-03-16T16:59:22.033 に答える
0

Delphi では、メモリ マップ ファイルも使用できます。

ファイルのメモリ マッピングの主な利点は、I/O パフォーマンスが向上することです。これは、特に大きなファイルで使用した場合に顕著です。... メモリ マップト ファイルの利点として考えられるのは、「遅延読み込み」です。したがって、非常に大きなファイルでも少量の RAM を使用します。

メモリ マップト ファイル。(2013 年 2 月 26 日)。ウィキペディア、フリー百科事典。2013 年 3 月 17 日 15:14、http://en.wikipedia.org/w/index.php ?title=Memory-mapped_file&oldid=540609840 から取得

于 2013-03-17T15:16:34.830 に答える