我有一個幫助函數,它將創建一個密鑰或向量字節數組,用於加密方法。不過,我需要一個方法,將採取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[] to hex string
How do you convert Byte Array to Hexadecimal String, and vice versa?
我使用了幾種解析和LINQ例子,但沒有它們的輸出串中的字節的數組元素作爲我上述需要。
有沒有辦法將我的helpwer方法返回的字節數組的實際值轉換爲我需要的字符串格式,而不使用方法的黑客?
看起來幾乎像JSON。如果您可以將格式更改爲真正的JSON(「[1,3,5]」),請考慮使用內置JSON序列化程序或JSON.Net之一。 –
實際上這代表了加密和解密方法中使用的不是JSON的'key'和'iv'值。它已經是'byte []'的形式,所以我需要一種方法來處理它。 – atconway
檢出http://msdn.microsoft.com/en-us/library/3a733s97.aspx –