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

Tim*_*mwi 45 .net c# string-formatting

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

myByte.ToString("X")
Run Code Online (Sandbox Code Playgroud)

但如果小于0x10,它只有一位数.我需要一个领先的零.是否有一个格式字符串,可以在一次调用中执行此操作ToString

Rom*_*kov 106

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

  • 自我注意:"X2"中的2表示2位数.例如0A."X4"将显示000A. (19认同)
  • 同样有效:`string.Format(“ {0:X2}”,myByte)`,并且自C#6起,`$“ {myByte:X2}”` (4认同)
  • 另外:格式说明符中 X 的大小写将影响生成的十六进制数字的大小写。IE。`255.ToString("X2")` 返回 `FF`,而 `255.ToString("x2")` 返回 `ff`。 (4认同)