字节[]到ASCII

The*_*ask 48 .net c# file-upload bitconverter

我收到了以二进制值返回的文本文件的内容:

Byte[] buf = new Byte[size];
stream = File.InputStream;
stream.Read(buf, 0, size);
Run Code Online (Sandbox Code Playgroud)

如何将其转换为ASCII?

Jal*_*aid 92

使用:

System.Text.Encoding.ASCII.GetString(buf);

  • 有效!它也适用于***输入缓冲区的任何子集*** - 使用带有两个额外参数的变量:[`ASCIIEncoding.GetString(byte [] bytes,int byteIndex,int byteCount)`](https:// msdn .microsoft.com/zh-CN/library/38b953c8%28v = vs.110%29.aspx?cs-save-lang = 1&cs-lang = csharp#code-snippet-1)(或者没有第三个参数,直到缓冲区的结尾).(您可以在答案中包含此信息,以获得更全面的答案,但未明确要求.) (2认同)

Pat*_*ins 9

您可以使用:

System.Text.Encoding.ASCII.GetString(buf);
Run Code Online (Sandbox Code Playgroud)

但有时你会得到一个奇怪的数字而不是你想要的字符串.在这种情况下,您看到原始字符串时可能会有一些十六进制字符.如果是这种情况,您可能想尝试这样做:

System.Text.Encoding.UTF8.GetString(buf);
Run Code Online (Sandbox Code Playgroud)

或作为最后的手段:

System.Text.Encoding.Default.GetString(bytearray);
Run Code Online (Sandbox Code Playgroud)


Mrc*_*ief 5

Encoding.ASCII.GetString(buf);
Run Code Online (Sandbox Code Playgroud)