C# 接收16进制数据,如何转换为10进制 显示在Text.box里面

现在的程序如下:stringserialReadString;privatevoidserialPort1_DataReceived(objectsender,Syste... 现在的程序如下:
string serialReadString;
private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{
serialReadString = serialPort1.ReadExisting();
this.textBox1.Invoke
(
new MethodInvoker
(

delegate
{
this.textBox1.AppendText(serialReadString);
}

)

);

}

现在可以达到的功能:发送字符串可以接收显示,按十六进制发送,接收的还是字符串,想要达到的目的发送16进制数据,显示10进制数据或者直接显示刚发送的十六进制数据:例如发送十六进制数 AF 直接显示 AF ,不是字符串AF。
展开
 我来答
百度网友94f02eb
2010-08-05 · TA获得超过8612个赞
知道大有可为答主
回答量:7955
采纳率:74%
帮助的人:4375万
展开全部
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));
}

)

);

}
ehdy
2010-08-05 · TA获得超过4638个赞
知道小有建树答主
回答量:1454
采纳率:77%
帮助的人:839万
展开全部
这是我用过的一个,按字节转换的。比如输入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;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jltsir
2010-08-05 · TA获得超过372个赞
知道小有建树答主
回答量:383
采纳率:0%
帮助的人:180万
展开全部
兄弟,你想说什么呢?
照我猜测,你想要进制转换的功能吧,给你一些代码:
=================================================
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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式