我正在使用tcpstream并将数据复制到内存流中.现在我想将其转换为文本(UTF-8编码).我尝试了各种各样的方法,并做了flush(),但我无法弄明白.我尝试将它与StreamReader结合使用而没有运气(我得到一个空字符串).
Guf*_*ffa 16
只需从中获取数据MemoryStream并对其进行解码:
string decoded = Encoding.UTF8.GetString(theMemoryStream.ToArray());
Run Code Online (Sandbox Code Playgroud)
你可能会得到一个空字符串,因为你正在读取MemoryStream它而没有重置它的位置.ToArray无论当前位置在何处,该方法都会获得所有数据.
如果在将其放入之前恰好是字节数组MemoryStream,则可以直接使用它.
using(MemoryStream ms = GetStream())
using(StreamReader reader = new StreamReader(ms))
{
ms.Position = 0;
Console.WriteLine(reader.ReadToEnd());
}
Run Code Online (Sandbox Code Playgroud)