BitConverter.ToString дает шестнадцатеричный формат в формате "XX-XX-XX-XX"
Есть ли противоположный метод для этого, чтобы я мог получить исходный массив байтов из строки, указанной в этом формате?
BitConverter.ToString дает шестнадцатеричный формат в формате "XX-XX-XX-XX"
Есть ли противоположный метод для этого, чтобы я мог получить исходный массив байтов из строки, указанной в этом формате?
Нет, но его легко реализовать:
string s = "66-6F-6F-62-61-72";
byte[] bytes = s.Split('-')
.Select(x => byte.Parse(x, NumberStyles.HexNumber))
.ToArray();
Использование string.Split, then byte.Parse в цикле - самый простой способ. Вы можете выжать немного больше производительности, если знаете, что каждый байт дополняется двумя шестнадцатеричными цифрами, между ними всегда ровно одна тире, пропуская строку. Разбиение и просто переход по трем символам за раз.