有没有办法在C#中确定字符串的编码?
说,我有一个文件名字符串,但我不知道它是用Unicode UTF-16编码还是系统默认编码,我怎么知道呢?
我有一个简单的XmlReader:
XmlReader r = XmlReader.Create(fileName);
while (r.Read())
{
Console.WriteLine(r.Value);
}
Run Code Online (Sandbox Code Playgroud)
问题是,Xml文件中包含ISO-8859-9字符,这使得XmlReader抛出" Invalid character in the given encoding."异常.我可以<?xml version="1.0" encoding="ISO-8859-9" ?>在开头添加行来解决这个问题,但是我想以另一种方式解决这个问题,以防我无法修改源文件.如何更改XmlReader的编码?