C# 控制台的编码。读取
我目前正在开发一个应用程序,它从控制台获取输入,但也支持输入重定向。为此,我通常使用C# 控制台的编码。读取,c#,.net,encoding,console,C#,.net,Encoding,Console,我目前正在开发一个应用程序,它从控制台获取输入,但也支持输入重定向。为此,我通常使用Console.Read来接收单个字符。但是,我找不到任何资源说明它使用的编码(ASCII?UTF-16?UTF-8??)和Console。InputEncoding似乎只影响控制台的直接输入。它使用的是什么编码,如果可能的话,我如何改变它 编辑:文本文件是用UTF-8编码的,但我只想知道如何读取它。 因为我没有收到太多的回复,我决定自己做一些测试。我编写了一个具有不同字节宽度的UTF-8文件: 01234567
Console.Read
来接收单个字符。但是,我找不到任何资源说明它使用的编码(ASCII?UTF-16?UTF-8??)和Console。InputEncoding
似乎只影响控制台的直接输入。它使用的是什么编码,如果可能的话,我如何改变它
编辑:文本文件是用UTF-8编码的,但我只想知道如何读取它。
因为我没有收到太多的回复,我决定自己做一些测试。我编写了一个具有不同字节宽度的UTF-8文件:
0123456789:基本拉丁语,1字节
阿拉伯文,2字节
₀₁₂₃₄₅₆₇₈₉: 上标和下标,3字节
这是另一个程序使用的编码,您将其输出重定向到输入。如果它是一个文本文件,那么它就是创建该文件的程序所使用的任何文本编码。所以你只是不知道,除非你有关于那个程序或文件的确凿事实。事实上,它是如此不可用,使得I/O重定向成为一个主要的错误工厂,不依赖它会更好。这是一个应该留在Unix中的Unix功能:)不知道。为什么要投票?