Fun Mode On Part 1
Я могу использовать Regex
es для замены!Wozza !!!
string str = Regex.Replace(
String.Format("{0:X8}", myVal),
"([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})",
"$1 $2 $3 $4"
);
Я пишу число в шестнадцатеричном формате 8 цифр с помощью String.Format
, а затем вставляю пробелы с помощью Regex
.Да, это излишне и бесполезно: -)
Серьезно
string str = String.Format(
"{0:X2} {1:X2} {2:X2} {3:X2}",
(myVal >> 24) & 0xFF,
(myVal >> 16) & 0xFF,
(myVal >> 8) & 0xFF,
myVal & 0xFF);
Взятие фигуры за раз с использованием смен и маски "&&" и составление их с использованием String.Format
в шестнадцатеричном формате с отступом 2.
Не используйте их с отрицательными числами, пожалуйста!
Веселый режим для части 2 (Возвращение разгневанного регулярного выражения)
string str = Regex.Replace(
String.Format("{0:X8}", myVal),
"([0-9A-F]{2})(?!$)",
"$1 "
);
Здесь мы ищем группы из 2 шестнадцатеричных цифр, которые не находятся в конце строки, и добавляем пробел после них (мы могли бы использовать \B
(не забудьте выйти) вместо(?!$)
)