Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在C语言中,如何将字节数组转换为十六进制数字符串?_C#_Hex - Fatal编程技术网

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) {

在C语言中,将字节数组转换成十六进制数字符串的最简洁的方法是什么


字符串中的字节之间会出现连字符,但它们很容易删除。

这应该可以。。。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会快得多。