c#将代码页输入转换为Unicode显示
我搜索并找到了一些在某些情况下有效的部分答案,但在所有情况下都无效。场景是通过网络发送一个XML文件。该文件的编码名为encoding=“Windows-932”或encoding=“Windows-1254”等。我需要解析文件并获取某些信息,然后将这些信息转换为Unicode字符,并将其发送到另一台只能读取Unicode的机器上 编码也是如此c#将代码页输入转换为Unicode显示,c#,unicode,encoding,C#,Unicode,Encoding,我搜索并找到了一些在某些情况下有效的部分答案,但在所有情况下都无效。场景是通过网络发送一个XML文件。该文件的编码名为encoding=“Windows-932”或encoding=“Windows-1254”等。我需要解析文件并获取某些信息,然后将这些信息转换为Unicode字符,并将其发送到另一台只能读取Unicode的机器上 编码也是如此 1253它是西里尔文,所以字符E1=ASCII225=Unicode 0431 1254它是土耳其语,所以字符E1=ASCII225=Unicode
- 1253它是西里尔文,所以字符E1=ASCII225=Unicode 0431
- 1254它是土耳其语,所以字符E1=ASCII225=Unicode 00E1
- 1251它是希腊语,所以字符E1=ASCII225=Unicode 03B1
Encoding.GetEncoding("windows-1253").GetString(new byte[] {0xE1}) // -> "\u03B1" α
Encoding.GetEncoding("windows-1254").GetString(new byte[] {0xE1}) // -> "\u00E1" á
Encoding.GetEncoding("windows-1251").GetString(new byte[] {0xE1}) // -> "\u0431" б
但是对于XML文件,您应该使用现有的XML解析器(例如XmlReader
或XDocument.Load
),它将为您处理编码