Противоположный метод для BitConverter.ToString? - PullRequest
10 голосов
/ 28 марта 2010

BitConverter.ToString дает шестнадцатеричное значение в формате 'XX-XX-XX-XX'

Есть ли метод, противоположный этому, чтобы я мог получить исходный байтовый массив из строки, заданной в этом формате?

Ответы [ 2 ]

13 голосов
/ 28 марта 2010

Нет, но его легко реализовать:

string s = "66-6F-6F-62-61-72";
byte[] bytes = s.Split('-')
    .Select(x => byte.Parse(x, NumberStyles.HexNumber))
    .ToArray();
2 голосов
/ 28 марта 2010

Использование string.Split, затем byte.Parse в цикле - самый простой способ. Вы можете немного повысить производительность, если знаете, что каждый байт дополняется двумя шестнадцатеричными цифрами, между ними всегда ровно одна черта, пропуская строку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...