将二进制字符串转换为其可读的等价C#

时间:2014-11-05 09:37:14

标签: c# string binary-data

我有一个包含一些二进制数据的字符串数组,我想将二进制文件转换为它的等效字符代表。 数组中的每个元素包含8位" 1字节"我需要知道如何将数据转换为字符等值

这是字符串数组:

IEnumerable<string> resultChunks = Enumerable.Range(0, result.Length / 8)
   .Select(x => result.Substring(x * 8, 8));
            string[] newRes = resultChunks.ToArray();
            string tempRes="";

            for (int i = 0; i < newRes.Length; i++)
            {
                tempRes+=Convert.ToString(newRes[i]);

            }

当前&#34;结果&#34;是&#34; 0010001111000100001010010011101111000111001100110110011100110110&#34;

2 个答案:

答案 0 :(得分:0)

如果您的数据是字节数组,那么您可以使用它:

string result = Encoding.ASCII.GetString(bytes);

答案 1 :(得分:0)

我猜,你的字符串是base64字符串。 然后你可以使用下一个方法:

public static string FromBase64(string base64Str, Encoding encoding = null)
{
        if (string.IsNullOrWhiteSpace(base64Str))
        {
            return string.Empty;
        }
        byte[] bytes;
        try
        {
            bytes = System.Convert.FromBase64String(base64Str);
        }
        catch (FormatException)
        {
            return string.Empty;
        }
        var stringEncoding = encoding ?? Encoding.UTF8;
        return stringEncoding.GetString(bytes);
    }