这种,一般来说是编码造成的吧...
任何stream读取的数据都是返回一个字节流,而所谓的字符串文本都是对字节流的一个转换。
要正确转换内容,必须知道内容的字符编码格式。
一般来说,使用默认的能解决问题。
.net的默认编码是UTF-8(不排除人为修改的可能)。
你可以确认对方输出的流是什么编码(文本文件是用什么编码保存的),如果能这样,自然就简单了。
如果不确定,你可以分别尝试使utf-8、gb2312、gbk等编码读取看。
获取编码的方法:utf-8有自带的System.Text.Encoding.TextEncoding.Utf8(也有很多别的,可以多尝试下)。
如果gb2312、gbk,则可以使用静态方法:System.Text.Encoding.TextEncoding.GetEncodingxxx("gb2312")
这里我把GetEncoding方法名忘记了,你自己修正下。