111,128
社区成员
发帖
与我相关
我的任务
分享
private byte[] HexStringToByteArray(string s) //16进制字符串到数组之间的相互转换
{
s = s.Replace(" ", "");
byte[] buffer = new byte[s.Length / 2];
for (int i = 0; i < s.Length; i += 2)
buffer[i / 2] = (byte)Convert.ToSByte(s.Substring(i, 2), 16);
return buffer;
}
private string ByteArrayToHexString(byte[] data)
{
StringBuilder sb = new StringBuilder(data.Length * 3);
foreach (byte b in data)
sb.Append(Convert.ToString(b, 16).PadLeft(2, '0'));
return sb.ToString().ToUpper();
}
我在想如何把符号转十六进制,比如空格什么的
我在想如何把符号转十六进制,比如空格什么的[/quote]
原来是这样,你可以先将字符转成字节(字符编码自己定)
byte[] bytes= System.Text.Encoding.ASCII.GetBytes("要转的字符串");
StringBuilder sb = new StringBuilder();
foreach (byte b in bytes)
{
sb.Append(b.ToString("X2"));
}
sb.ToString();
char heh = '!';
byte[] aa = {0};
aa[0] = (byte)heh;
SerialPort sp = new SerialPort();
sp.Write(aa, 0, 1);
试试这个 你看看发出来的是不是 0x21