与BitConverter.ToString相反的方法?

时间:2010-03-27 23:05:56

标签: c# hex

BitConverter.ToString以“XX-XX-XX-XX”格式提供十六进制

是否有相反的方法,以便我可以从这个格式中给出的字符串中获取原始字节数组?

2 个答案:

答案 0 :(得分:13)

不,但很容易实现:

string s = "66-6F-6F-62-61-72";
byte[] bytes = s.Split('-')
    .Select(x => byte.Parse(x, NumberStyles.HexNumber))
    .ToArray();

答案 1 :(得分:2)

使用string.Split,然后在循环中使用byte.Parse是最简单的方法。如果你知道每个字节被填充到两个十六进制数字,你可以挤出更多的性能,中间总是只有一个短划线,跳过字符串.Split并且一次只跨越三个字符。