我无法阅读那些特殊字符 我试过这个
第一路#
string xmlFile = File.ReadAllText(fileName);
第二路#
FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read);
StreamReader r = new StreamReader(fs);
string s = r.ReadToEnd();
但是这两个陈述都不理解那些特殊字符。 我该怎么读?
更新###
我也尝试使用
进行所有编码string xmlFile = File.ReadAllText(fileName, Encoding. );
但仍然不明白那些特殊字符。
答案 0 :(得分:67)
没有“特殊字符”这样的东西。那些可能的是从latin1集(iso-8859-1)扩展ascii字符。 您可以通过向流读取器显式提供编码来读取它们(否则它将采用UTF8)
using (StreamReader r = new StreamReader(fileName, Encoding.GetEncoding("iso-8859-1")))
r.ReadToEnd();
答案 1 :(得分:5)
StreamReader sr = new StreamReader(stream, Encoding.UTF8)
答案 2 :(得分:3)
您必须告诉StreamReader您正在阅读Unicode
StreamReader sr = new StreamReader(stream, Encoding.Unicode);
答案 3 :(得分:1)
这对我有用:
var json = System.IO.File.ReadAllText(@"././response/response.json" , System.Text.Encoding.GetEncoding("iso-8859-1"));