如何将二进制文本转换为字符串?

时间:2014-04-01 22:34:24

标签: c#

如何使用C#将二进制文本转换为字符串?

我尝试过这种方式,但是,我将输出二进制文件转换为字符串:

byte[] fileBytes = System.IO.File.ReadAllBytes(filepath);
StringBuilder sb = new StringBuilder();

foreach (byte b in fileBytes)
{
    sb.Append(Convert.ToString(b, 2).PadLeft(8, '0'));
}
string str = sb.ToString();

有什么好的建议吗?

3 个答案:

答案 0 :(得分:2)

假设编码为UTF8:

string s = Encoding.UTF8.GetString(fileBytes);

答案 1 :(得分:0)

这将取决于源文件使用的编码,但您需要Encoding.GetString()http://msdn.microsoft.com/en-us/library/744y86tc%28v=vs.110%29.aspx

如果源文件是UTF8编码的,您可以执行类似

的操作
var output = Encoding.UTF8.GetString(fileBytes);

答案 2 :(得分:0)

尝试

Encoding.Unicode.GetString(fileBytes);