【问题标题】:Convert int to hex with leading zeros将 int 转换为带前导零的十六进制
【发布时间】:2013-04-01 22:45:01
【问题描述】:

如何将 int(4 个字节)转换为 hex(“XX XX XX XX”)而无需循环?

例如:

i=13 hex="00 00 00 0D"

i.ToString("X") 返回"D",但我需要一个 4 字节的十六进制值。

【问题讨论】:

  • @Joetjah 这些答案只提到了 OP 已经知道的X。这个问题是关于有领先的0 数字。
  • 如果您找到一个,可以将其作为重复项关闭,但您当前关闭它的问题是没有重复项。那里的答案推荐ToString("X"),它不会产生OP要求的前导零。

标签: c# hex string-formatting


【解决方案1】:

您可以通过将所需的十六进制位数附加到X 格式字符串来指定最小位数。由于两个十六进制数字对应一个字节,因此您的 4 字节示例需要 8 个十六进制数字。即使用i.ToString("X8")

如果您需要小写字母,请使用 x 而不是 X。例如13.ToString("x8") 映射到0000000d

【讨论】:

    【解决方案2】:

    试试这个:

    int innum = 123;
    string Hex = innum .ToString("X");  // gives you hex "7B"
    string Hex = innum .ToString("X8");  // gives you hex 8 digit "0000007B"
    

    【讨论】:

      猜你喜欢
      • 2015-11-18
      • 1970-01-01
      • 2015-09-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-05
      相关资源
      最近更新 更多