字符串转换为字节转换

问题描述:

可能重复:
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

尝试这种情况:

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

首先将字符串转换为int;然后int到字节数组。 – 2012-03-16 08:46:04

解析与Int32.Parse()中的字符串作为十六进制数。如果字符串由多个命令组成,则必须使用String.Split()分割它。

为了得到这样的一个字符串的一个字节值,你可以使用:

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