Как преобразовать int (4 байта) в hex ( "XX XX XX XX" ) без циклов?
например:
i=13 hex="00 00 00 0D"
i.ToString("X") возвращает "D", но мне нужно шестнадцатеричное значение 4 байта.
Ответ 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
string Hex = innum .ToString("X8"); // gives you hex 8 digit