2015-06-27 87 views
-1

我想用在C#中使用Console.ReadLine()或任何其他方法编码的UTF-8字符进行输入。在java中我发现这个如何使用Console.readLine读取c#中UTF-8的输入?

Scanner in = new Scanner(System.in, "utf-8"); 

我得到这样的输出:I0NISMS4QhiSWnSIADCAXg

但预期输出是这样的类型:{"result": 5, "id": 1}

+0

也许尝试[Console.InputEncoding](https://msdn.microsoft.com/en-us/library/system.console .inputencoding(v = vs.110)的.aspx)。 – DavidG

+0

试过但没有工作 –

+0

这是一个base64编码的字符串,它与控制台或utf8没有任何关系。在该字符串中编码的二进制数据与您喜欢的json样式输出没有可识别的匹配。 –

回答

0

只需设置Console.OutputEncodingUTF-8

Console.OutputEncoding = System.Text.Encoding.UTF8; 

例如:

static void Main(string[] args) 
{ 
    Console.OutputEncoding = System.Text.Encoding.UTF8; 

    using (StreamReader reader = new StreamReader("test1.txt",System.Text.Encoding.UTF8)) 
    { 
     string line; 

     while ((line = reader.ReadLine()) != null) 
     { 
      Console.WriteLine(line); 
     } 

    } 

    Console.ReadLine(); 
} 

还配置控制台字体这样的:

enter image description here

+0

我不想从文件中读取输入我想从用户那里读取 –