用C#实现十六进制字符串转换为ASCII
来源:互联网 发布:中国报刊数据库 编辑:程序博客网 时间:2024/06/07 09:44
最近做串口通信,要用到十六进制批量转ASCII。网上找了半天C#的代码,只有单个转换的的,没找到自己需要的代码。只好自己写一个了。
代码如下:
private void button1_Click(object sender,EventArgs e)
{
textBox2.Text= HexStringToASCII(textBox1.Text);
}
/// <summary>
/// 将一条十六进制字符串转换为ASCII
/// </summary>
/// <param name="hexstring">一条十六进制字符串</param>
/// <returns>返回一条ASCII码</returns>
public static string HexStringToASCII(string hexstring)
{
byte[] bt = HexStringToBinary(hexstring);
string lin = "";
for (int i = 0; i < bt.Length; i++)
{
lin = lin + bt[i] + " ";
}
string[] ss = lin.Trim().Split(new char[] { ' ' });
char[] c = new char[ss.Length];
int a;
for (int i = 0; i < c.Length; i++)
{
a = Convert.ToInt32(ss[i]);
c[i] = Convert.ToChar(a);
}
string b = new string(c);
return b;
}
/**/
/// <summary>
/// 16进制字符串转换为二进制数组
/// </summary>
/// <param name="hexstring">字符串每个字节之间都应该有空格,大多数的串口通讯资料上面的16进制都是字节之间都是用空格来分割的。</param>
/// <returns>返回一个二进制字符串</returns>
public static byte[] HexStringToBinary(string hexstring)
{
string[] tmpary = hexstring.Trim().Split(' ');
byte[] buff = new byte[tmpary.Length];
for (int i = 0; i < buff.Length; i++)
{
buff[i] = Convert.ToByte(tmpary[i], 16);
}
return buff;
}
比如输入:41 42 25
得到结果:AB%
先在另外一个程序员网站写了同样一篇文章,没想到被无故移出了首页。然后写了一封回复邮件,两天都没有给我一个答复。这里再次写出来,方便大家学习!
- 用C#实现十六进制字符串转换为ASCII
- 十六进制字符串转换为ascii字符串
- C# 十六进制转换ASCII
- PHP把 ASCII 字符的字符串转换为十六进制值
- C#字符串转换为ASCII码
- 字符串转换为十六进制
- 字符串转换为十六进制
- 字符串转换为十六进制
- 字符串转换为十六进制
- 十六进制数转换为 ASCII 码
- C#实现转换十六进制
- C#实现转换十六进制
- 十六进制字符串转换为十六进制数字
- 十六进制字符串转换为十六进制数
- C#中字符串的ASCII码转换为字符
- 字符串转换为十六进制 (转)
- 十六进制字符串 转换为 整形
- 普通字符串转换为十六进制
- Hibernate的工具类HibernateUtils
- 2013年企业家的十大判断
- 优易u盘加密软件蓝屏修复
- Linux下Shell编程——正则表达式基础与扩展
- iOS国际化
- 用C#实现十六进制字符串转换为ASCII
- android-------------GitHub Android 开源项目汇总
- php汉字转换成拼音,php汉字按照拼音首字母排序
- segmentation fault
- LNK2005之解决办法
- linux修改系统时间和时区
- 如何编写一个简单的linux内核模块和设备驱动程序
- MPMoviePlayerViewControllerIOS6下实现横屏播放
- 如何比对R12.1.3与之前版本表结构发生了哪些变化