我需要使用最少的内存将字符编码“windows-1252”的非常大的文本文件(通常超过 100 MB)转换为 UTF8。
任何人都知道最快/最低的内存开销方法是什么?
我假设有一些超快的 StreamReader/StreamWriter 组合!
谢谢
我需要使用最少的内存将字符编码“windows-1252”的非常大的文本文件(通常超过 100 MB)转换为 UTF8。
任何人都知道最快/最低的内存开销方法是什么?
我假设有一些超快的 StreamReader/StreamWriter 组合!
谢谢
如果您不想分配所有数据,您可以通过
"windows-1252"
UTF-8
该Encoding.Convert
方法运行byte[]
- 您可以使用小缓冲区调用它,从原始文件读取然后写入新文件。如果原始文件使用可变字节编码,则需要非常小心,只读取字符边界上的缓冲区(如果可能)。
这将根据您的需要使用尽可能多或尽可能少的内存 - 取决于您选择的缓冲区大小。