2011-02-13 59 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); 

我想這就是你要找的內容。如果不是,請更新一個更明確的定義你正在尋找什麼。

相關問題