[英]In C#, how do I convert an array of bytes into a string of hex numbers?
在C#中,將字節數組轉換為十六進制數字字符串的最簡潔方法是什么?
BitConverter.ToString http://msdn.microsoft.com/zh-cn/library/system.bitconverter.tostring.aspx
您會在字符串的字節之間得到連字符,但是很容易刪除它們。
這應該可以工作... BitConverter更好,但這可以為您提供更多控制(沒有連字符),並且如果您願意的話,您可以喜歡lambda :)
public string byteToHex(byte[] byteArray) {
StringBuilder result = new StringBuilder();
foreach (byte b in byteArray) {
result.AppendString(b.ToString("X2"));
}
return result.ToString();
}
這是我需要小寫十六進制時使用的擴展名。 例如,Facebook需要小寫字母來簽名POST數據。
private static string ToLowerCaseHexString(this IEnumerable<byte> hash)
{
return hash
.Select(b => String.Format("{0:x2}",
b))
.Aggregate((a, b) => a + b);
}
在linq .Aggregate上使用StringBuilder可能會更快,但是我傳遞的字節數組很短。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.