我已经下载了一个大约 36MB 的 byte[] 'raw' 流。然后我将其转换为字符串
string temp = System.Text.Encoding.UTF8.GetString(raw)
然后我需要用“\r\n”替换所有“\n”所以我尝试了
string temp2 = temp.Replace("\n","\r\n")
但它引发了“内存不足”异常。然后我尝试使用 StringBuilder 创建一个新字符串:
string temp2 = new StringBuilder(temp).Replace("\n","\r\n").toString()
它没有抛出异常。为什么首先会出现内存问题(我在这里只处理 36MB),而且为什么 StringBuilder.Replace() 在另一个不工作时会起作用?