我有一个包含一些二进制数据的字符串数组,我想将二进制文件转换为它的等效字符代表。 数组中的每个元素包含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;
答案 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);
}