【发布时间】:2014-12-28 18:21:24
【问题描述】:
我正在处理巨大的字符串(100MB 的文件 - 文本)。文件文本存储在 StringBuilder 中。
出于某种原因,我需要更改此文本的编码,以前不能指望这一点,从 CURRENT-Encoding 到 NEW-Encoding。所以,我需要使用
Encoding.Convert(...)
功能。由于这个文件很大,我想把它分成几部分。例如,每次 1024 个字符。将 StringBuilder 分解为子字符串对我来说似乎是个问题,因为我不想使用
.ToString()
功能(性能原因)。
您如何建议我这样做,而不是将整个文本集中到一个字符串中?
【问题讨论】:
-
你可以使用
StringReader。 -
您认为将字符串拆分成块在性能方面有什么好处?您仍然需要转换整个字符串,对吧?
-
你在说什么样的编码?字符是否可以具有可变长度(例如 UTF-8 与 ASCII 以外的字符或 UTF-16 与 BMP 以外的字符)?
标签: c# string performance substring