字符串转换为字节转换
我想从转换海峡= “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);
谢谢!
尝试这种情况:
int num = System.Convert.ToInt32(str4, 16);
byte[] val = BitConverter.GetBytes(num);
首先将字符串转换为int;然后int到字节数组。 – 2012-03-16 08:46:04
解析与Int32.Parse()中的字符串作为十六进制数。如果字符串由多个命令组成,则必须使用String.Split()分割它。
为了得到这样的一个字符串的一个字节值,你可以使用:
byte b = Byte.Parse(str.Remove(0,2), NumberStyles.HexNumber);
Basicly您需要删除的字符串0X部分,然后指定要解析十六进制值
如果字节b = Byte.Parse(str4.Remove(0,2),NumberStyles.HexNumber); val [0] = 0x04和val [0] = b有什么区别? – user1225084 2012-03-16 16:29:04
注意,重复的问题有错误的答案。 Tsabo是对的。 – xanatos 2012-03-16 08:59:10