string hex = 10008.ToString("x2");
Посмотреть примерint num = 255;
string hex = num.ToString("x2");
// переменная hex будет иметь значение ff
hex = num.ToString("X2");
// переменная hex будет иметь значение FF
Массив байт в
HEX:
byte[] data = new byte[] {1,2,3,4,5,128,255};
string hex = String.Join(" ", data.Select(b=> b.ToString("x2")).ToArray());
Console.WriteLine(hex);
На выходе будет:
01 02 03 04 05 80 ff
Набор символов в
HEX:
string data = "Привет, человеки!";
string hex = String.Join(" ", data.ToString().Select(ch => ((byte)ch).ToString("x2")).ToArray());
Console.WriteLine(hex);
или лучше через
Encoding получить массив байт из строки:
string data = "Привет, человеки!";
string hex = String.Join(" ", System.Text.Encoding.GetEncoding(1251).GetBytes(data).Select(b => b.ToString("x2")).ToArray());
Console.WriteLine(hex);
На выходе будет:
cf f0 e8 e2 e5 f2 2c 20 f7 e5 eb ee e2 e5 ea e8 21
В
String.Join первым параметром, вместо пробела, можно указать любой набор символов, которым будет объединен массив полученных hex-данных.
string data = "Привет, человеки!";
string hex = String.Join("-", System.Text.Encoding.GetEncoding(1251).GetBytes(data).Select(b => b.ToString("x2")).ToArray());
Console.WriteLine(hex);
На выходе:
cf-f0-e8-e2-e5-f2-2c-20-f7-e5-eb-ee-e2-e5-ea-e8-21