在C#中处理非英文字符

Col*_*nic 3 c# character-encoding streamwriter streamreader

我需要了解字符集和编码.有人能指出我在C#中处理不同的字符集吗?

这是我面临的一个问题 -

        using (StreamReader reader = new StreamReader("input.txt"))
        using (StreamWriter writer = new StreamWriter("output.txt")
        {
            while (!reader.EndOfStream)
            {
                writer.WriteLine(reader.ReadLine());
            }
        }
Run Code Online (Sandbox Code Playgroud)

这个简单的代码片段并不总是保留编码 -

例如 -

输入中的Aukéna在输出中变成了Auk�na.

Est*_*aya 5

你只是有一个编码问题.你必须记住,你真正阅读的只是一串流.你必须告诉你的程序如何正确解释这些位.

要解决您的问题,只需使用采用编码的构造函数,并将其设置为文本使用的任何编码.

http://msdn.microsoft.com/en-us/library/ms143456.aspx

http://msdn.microsoft.com/en-us/library/3aadshsx.aspx