2011-02-13 100 views
3

我有一个包含十六进制值的字符串。现在我需要将包含十六进制字符串的内容作为字节变量。我应该如何在不改变十六进制值的情况下做到这一点?如何将包含十六进制对的字符串转换为字节?

+0

http://stackoverflow.com/questions/311165/how-do-you-convert-byte-array-to-hexadecimal-string-and-vice-versa-in-c – Dialecticus 2011-02-13 18:02:07

+0

不是重复的(wrt C#)据我所知。有许多变化,但这是特定的(“xx” - >字节),并且比许多更复杂的场景要求更简单的答案。 – 2011-02-13 19:14:00

回答

6

一个alternative迄今发布的选项:

byte b = Convert.ToByte(text, 16); 

注意,这将返回0,如果text为null;这可能是也可能不是你想要的结果。

0

如果只是在字符串中的单个字节,你可以这样做:

 string s = "FF"; 
     byte b; 


     if (byte.TryParse(s, NumberStyles.HexNumber, null, out b)) 
     { 
      MessageBox.Show(b.ToString()); //255 
     } 
2
String strHex = "ABCDEF"; 
Int32 nHex = Int32.Parse(strHex, NumberStyles.HexNumber); 
Byte[] bHex = BitConverter.GetBytes(nHex); 

我想这就是你要找的内容。如果不是,请更新一个更明确的定义你正在寻找什么。

相关问题