我有一个辅助函数,它将创建一个密钥或向量字节数组以用于加密方法。但是,我需要一种方法,该方法将从字节数组中获取byte[]
并输出以下值的表示形式:string
//I need the output to look like this:
"{241, 253, 159, 1, 153, 77, 115, 174, 234, 157, 77, 23, 34, 14, 19, 182, 65, 94, 71, 166, 86, 84, 50, 15, 133, 175, 8, 162, 248, 251, 38, 161}"
我发现这种长期使用的方法在技术上可行,但它很混乱,尤其是必须删除最后一个逗号:
public static string ByteArrayToString(byte[] byteArray)
{
var hex = new StringBuilder(byteArray.Length * 2);
foreach (var b in byteArray)
hex.AppendFormat("{0}, ", b);
var output = "{"+ hex.ToString() + "}";
return output.Remove(output.Length - 3, 2); //yuck
}
这似乎是一个被问得非常多的问题,我发现了几篇带有解决方案的帖子,但是没有一个建议从byte[]
我需要的上面输出字符串。我检查了以下内容:
byte[] 到十六进制字符串
你如何将字节数组转换为十六进制字符串,反之亦然?
我使用了几个解析和 LINQ 示例,但它们都没有像我上面需要的那样输出字符串中的字节数组元素。
有没有一种方法可以将我的辅助方法返回的字节数组的实际值转换为我需要的字符串格式,而无需使用该方法的破解?