今天我看到了一个包含以下代码的问题:
var accumulator = "";
var buffer = new byte[8192];
while (true)
{
var readed = stream.Read(buffer, 0, buffer.Length);
accumulator += Encoding.UTF8.GetString(buffer, 0, readed);
if (readed < buffer.Length)
break;
}
var result = Encoding.UTF8.GetBytes(accumulator);
我知道这段代码效率低,但它安全吗?是否有一些字节序列会破坏结果?
accumulator = new StreamReader(stream, Encoding.UTF8).ReadToEnd()
。 - L.B