private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{
// 获取字节长度
int bytes = serialPort1.BytesToRead;
// 创建字节数组
byte[] buffer = new byte[bytes];
// 读取缓冲区的数据到数组
serialPort1.Read(buffer, 0, bytes);
this.textBox1.Invoke
(
new MethodInvoker
(
delegate
{
this.textBox1.AppendText(System.Text.Encoding.Unicode.GetString(buffer));
}
)
);
}
这是我用过的一个,按字节转换的。比如输入20,输出空格。不知道是不是你需要的。
protected void Button1_Click(object sender, EventArgs e)
{
this.TextBox2.Text = HexToChar(this.TextBox1.Text.ToString());
}
protected string HexToChar(string hexnumber) //十六进制转化为字符串输出
{
string s = "";
try
{
s = ((char)byte.Parse(hexnumber, System.Globalization.NumberStyles.AllowHexSpecifier)).ToString();
}
catch (Exception)
{
this.Response.Write("输入的不是十六进制数据!");
}
return s;
}
兄弟,你想说什么呢?
照我猜测,你想要进制转换的功能吧,给你一些代码:
=================================================
int d = 10;
//十进制转二进制字符串
Console.WriteLine(Convert.ToString(d,2));
//输出: 1010
//十进制转十六进制字符串
Console.WriteLine(Convert.ToString(d,16));
//输出: a
//二进制字符串转十进制数
string bin = "1010";
Console.WriteLine(Convert.ToInt32(bin,2));
//输出: 10
//二进制字符串转十六进制数
string bin = "1010";
Console.WriteLine(string.Format("{0:x}",Convert.ToInt32(bin,2));
//输出: a
//十六进制转二进制字符串
Console.WriteLine(Convert.ToString(0xa,2));
//输出: 1010
//十六进制转十进制数
Console.WriteLine(Convert.ToString(0xa,10));
//输出: 10