BitConverter.ToString 的相反方法?
Posted
技术标签:
【中文标题】BitConverter.ToString 的相反方法?【英文标题】:Opposite Method to BitConverter.ToString? 【发布时间】:2011-02-01 15:24:14 【问题描述】:BitConverter.ToString 给出格式为“XX-XX-XX-XX”的十六进制
是否有相反的方法,以便我可以从以这种格式给出的字符串中获取原始字节数组?
【问题讨论】:
【参考方案1】:不,但它很容易实现:
string s = "66-6F-6F-62-61-72";
byte[] bytes = s.Split('-')
.Select(x => byte.Parse(x, NumberStyles.HexNumber))
.ToArray();
【讨论】:
【参考方案2】:使用string.Split,然后循环使用byte.Parse是最简单的方法。如果您知道每个字节都被填充到两个十六进制数字,那么您可以通过跳过 string.Split 并一次跨过三个字符,在两个十六进制数字之间始终恰好有一个破折号,从而提高性能。
【讨论】:
以上是关于BitConverter.ToString 的相反方法?的主要内容,如果未能解决你的问题,请参考以下文章
用什么方法将BitConverter.ToString产生字符串再转换回去