使用ToString将字节转换为两位十六进制数字?

时间:2011-03-24 22:58:47

标签: c# .net string-formatting

我可以将一个字节转换成十六进制数字,如下所示:

myByte.ToString("X")

但如果小于0x10,则只有一位数。我需要一个领先的零。是否有格式字符串可以通过一次调用ToString来完成此操作?

2 个答案:

答案 0 :(得分:92)

myByte.ToString("X2")我相信。

答案 1 :(得分:-1)

也许您喜欢按以下步骤进行操作:

private static void byte2hex(byte b, StringBuilder buf)
    {
        char[] hexChars = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
                            'A', 'B', 'C', 'D', 'E', 'F' };
        int high = ((b & 0xf0) >> 4);
        int low = (b & 0x0f);
        buf.Append(hexChars[high]);
        buf.Append(hexChars[low]);
    }