最小量のメモリを使用して、文字エンコード「windows-1252」の非常に大きなテキストファイル(通常は100 MB以上)をUTF8に変換する必要があります。
これを行うための最速/最低のメモリオーバーヘッドの方法を知っている人はいますか?
私はいくつかの超高速のStreamReader/StreamWriterの組み合わせを想定しています!
ありがとう
最小量のメモリを使用して、文字エンコード「windows-1252」の非常に大きなテキストファイル(通常は100 MB以上)をUTF8に変換する必要があります。
これを行うための最速/最低のメモリオーバーヘッドの方法を知っている人はいますか?
私はいくつかの超高速のStreamReader/StreamWriterの組み合わせを想定しています!
ありがとう
すべてのデータを割り当てたくない場合は、そのチャンクを操作します。
"windows-1252"
UTF-8
このEncoding.Convert
メソッドはで動作しbyte[]
ます-小さなバッファでこれを呼び出し、元のファイルから読み取り、新しいファイルに書き込むことができます。元のファイルが可変バイトエンコーディングを使用している場合は、文字境界でのみバッファに読み込むように非常に注意する必要があります(可能な場合)。
これにより、選択したバッファサイズに応じて、必要なだけメモリを使用します。