1 回答
TA贡献1816条经验 获得超6个赞
原因是你在解码时没有设置MemoryStream中流的位置,改成下面这样就行了,还有MemoryStream构造方法里的那个长度指的是字节数组的长度,如果你在编码时使用的是Unicode编码的话,解码的时候就不能得到原始的字符串了。
string XML = "asdasdasd";
System.IO.MemoryStream XMLStream = new System.IO.MemoryStream(XML.Length);
XMLStream.Write(ASCIIEncoding.ASCII.GetBytes(XML), 0, XML.Length);
System.IO.StreamReader Reader = new System.IO.StreamReader(XMLStream);
XMLStream.Position = 0;
String Output = Reader.ReadToEnd();
建议改为
string XML = "asdasdasd";
byte[] byteArr = Encoding.ASCII.GetBytes(XML);
System.IO.MemoryStream XMLStream = new System.IO.MemoryStream(byteArr.Length);
XMLStream.Write(byteArr, 0, byteArr.Length);
XMLStream.Position = 0;
System.IO.StreamReader Reader = new System.IO.StreamReader(XMLStream, Encoding.ASCII);
String Output = Reader.ReadToEnd();
- 1 回答
- 0 关注
- 162 浏览
添加回答
举报