Convert int to hex with leading zeros
How to convert int (4 bytes) to hex ("XX XX XX XX
") without cycles?
for example:
i=13 hex="00 00 00 0D"
i.ToString("X")
returns "D"
, but I need a 4-bytes hex value.
Solution 1:
You can specify the minimum number of digits by appending the number of hex digits you want to the X
format string. Since two hex digits correspond to one byte, your example with 4 bytes needs 8 hex digits. i.e. use i.ToString("X8")
.
If you want lower case letters, use x
instead of X
. For example 13.ToString("x8")
maps to 0000000d
.
Solution 2:
try this:
int innum = 123;
string Hex = innum .ToString("X"); // gives you hex "7B"
string Hex = innum .ToString("X8"); // gives you hex 8 digit "0000007B"