2012-03-16 249 views
-1

可能重複:
C# - Covert String of Hex values to Hex字符串轉換爲字節轉換

我想從轉換海峽= 「0×04」,以字節CMD = 0×04; 如何在c sharp中做到這一點? 我要的是將其轉換字符串值,並寫入COM端口,如:事先

byte[] val; 
val = new byte[16]; 
byte[] res4 = System.Text.Encoding.Default.GetBytes(str4); 
val[0] = 0xFF; 
val[1] = 0xFF; 
... 
val[15] = 0x01; 
port.Write(val, 0, 16); 

謝謝!

+0

注意,重複的問題有錯誤的答案。 Tsabo是對的。 – xanatos 2012-03-16 08:59:10

回答

0

嘗試這種情況:

int num = System.Convert.ToInt32(str4, 16); 
byte[] val = BitConverter.GetBytes(num); 
+0

首先將字符串轉換爲int;然後int到字節數組。 – 2012-03-16 08:46:04

0

解析與Int32.Parse()中的字符串作爲十六進制數。如果字符串由多個命令組成,則必須使用String.Split()分割它。

2

爲了得到這樣的一個字符串的一個字節值,你可以使用:

byte b = Byte.Parse(str.Remove(0,2), NumberStyles.HexNumber); 

Basicly您需要刪除的字符串0X部分,然後指定要解析十六進制值

+0

如果字節b = Byte.Parse(str4.Remove(0,2),NumberStyles.HexNumber); val [0] = 0x04和val [0] = b有什麼區別? – user1225084 2012-03-16 16:29:04