问题描述
例如Stringa=“010A”转换成byteresult[]=newbyte[0x01,0x0A]
解决方案
解决方案二:
ASCIIEncoding
解决方案三:
string[]subs=a.Split('');byteresult[]=newbyte[subs.Length];Split得到数组subs,然后循环转换,result[i]=Int32.Parse(subs[i],"0X");
解决方案四:
vara="5A-5C-1A-00-00-00-AE-FE-0A-17-17-A1-00-03-01-DF-FD-09-09-01-02-03-F6-DE-00-A5";varby=s.Split('-').Select(x=>Convert.ToByte(x,16)).ToArray();
拿走不客气...
解决方案五:
vara="5A-5C-1A-00-00-00-AE-FE-0A-17-17-A1-00-03-01-DF-FD-09-09-01-02-03-F6-DE-00-A5";varby=s.Split('-').Select(x=>Convert.ToByte(x,16)).ToArray();这个代码试过,但是并不是每个16进制的字符串都可以,
解决方案六:
我是用c#的,想给PLC输入一个例如0x98这种字符,但是一直没转换成功,网上的也看了,但是又些数值没转换成功
解决方案七:
引用楼主onbaby1的回复:
例如Stringa=“010A”转换成byteresult[]=newbyte[0x01,0x0A]
使用convert类的成员函数进行转换。首先分割得到十六进制的每个字符串(都是2个字符的字符串),使用split分割可以得到这样的字符串数组。string[]AS=a.Split("");byte[]bs=newbyte[AS.length];循环遍历AS数组,逐个进行转换:bs[i]=Convert.ToByte(AS[i],16);