Чтобы перевести строку в hex код, нужно применить этот код:
public static byte[] FromHex(string hex)
{
hex = hex.Replace("-", "");
byte[] raw = new byte[hex.Length / 2];
for (int i = 0; i < raw.Length; i++)
{
raw[i] = Convert.ToByte(hex.Substring(i * 2, 2), 16);
}
return raw;
}
но проблема в том что строка выводится вся вместе без пробелов, т.к. срабатывает замена "-","".... надо получить типа так: "-"," ", должно быть так: "31-32-33",а не так "313233"
даже если я поменяю на пробел то выскакивает ошибка на эту строку
raw[i] = Convert.ToByte(hex.Substring(i * 2, 2), 16);
Не удалось найти распазнаваемые цифры
в Main'e этот код:
byte[] data = FromHex(mystr);
string s = Encoding.ASCII.GetString(data);
s = s.Replace("-", "");
Может пробел пропущен?
s = s.Replace("-", " ");
Но после этого вы не сможете конвертировать hex т.к. в hex добавятся пробелы.
При этом вы возвращаете byte[] а не строку.
Если вы хотите получить из hex тип byte[], но при этом заменить - в вашем string на пробелы, то делайте
s = s.Replace("-", " ");
до выполнения вашей функции public static byte[] FromHex(string hex)
Примерно так
string string_ = s.Replace("-", " ");
byte[] byte_ = FromHex(string_);
public static byte[] FromHex(string hex)
Сборка персонального компьютера от Artline: умный выбор для современных пользователей