将int转换为带有前导零的十六进制

use*_*990 39 c# hex string-formatting

如何在XX XX XX XX没有循环的情况下将int(4字节)转换为十六进制(" ")?

例如:

i=13 hex="00 00 00 0D"
Run Code Online (Sandbox Code Playgroud)

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

Cod*_*aos 65

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

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


KF2*_*KF2 11

试试这个:

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