C# 在C语言中,如何将字节数组转换为十六进制数字符串?
在C语言中,将字节数组转换成十六进制数字符串的最简洁的方法是什么C# 在C语言中,如何将字节数组转换为十六进制数字符串?,c#,hex,C#,Hex,在C语言中,将字节数组转换成十六进制数字符串的最简洁的方法是什么 字符串中的字节之间会出现连字符,但它们很容易删除。这应该可以。。。BitConverter更好,但这使您能够更好地控制无连字符,如果您愿意,您可以使用lambdas: public string byteToHex(byte[] byteArray) { StringBuilder result = new StringBuilder(); foreach (byte b in byteArray) {
字符串中的字节之间会出现连字符,但它们很容易删除。这应该可以。。。BitConverter更好,但这使您能够更好地控制无连字符,如果您愿意,您可以使用lambdas:
public string byteToHex(byte[] byteArray) {
StringBuilder result = new StringBuilder();
foreach (byte b in byteArray) {
result.AppendString(b.ToString("X2"));
}
return result.ToString();
}
当我需要小写十六进制时,这里有一个扩展名。e、 Facebook要求签名帖子数据使用小写字母
private static string ToLowerCaseHexString(this IEnumerable<byte> hash)
{
return hash
.Select(b => String.Format("{0:x2}",
b))
.Aggregate((a, b) => a + b);
}
使用StringBuilder可能比使用linq.Aggregate更快,但我传递的字节数组很短。duplicate You's right Am,错过了这个,这里的StringBuilder会快得多。