Hex和ASCII相互转换函数

原创 2015年11月19日 09:29:22

以下两个函数用于实现十六进制和ASCII码值之间的转换

int Hex2Ascii(char* hex, char* ascii)
{
	int len = strlen(hex), tlen, i, cnt;
	
	for (i = 0, cnt = 0, tlen = 0; i<len; i++)
	{
		char c = toupper(hex[i]);

		if ((c>='0'&& c<='9') || (c>='A'&& c<='F'))
		{
			BYTE t = (c >= 'A') ? c - 'A' + 10 : c - '0';

			if (cnt)
				ascii[tlen++] += t, cnt = 0;
			else
				ascii[tlen] = t << 4, cnt = 1;
		}
	}
	
	return tlen;
}

int Ascii2Hex(char* ascii, char* hex)
{
	int i, len = strlen(ascii);
	char chHex[] = "0123456789ABCDEF";
					
	for (i = 0; i<len; i++)
	{
		hex[i*3]	= chHex[((BYTE)ascii[i]) >> 4];
		hex[i*3 +1]	= chHex[((BYTE)ascii[i]) & 0xf];
		hex[i*3 +2]	= ' ';
	}

	hex[len * 3] = '\0';

	return len * 3;
}
//! 发送数据


版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

Hex与ASCII相互转换函数

http://blog.csdn.net/surelion/article/details/7926116

C通用函数:ASCII与十六制字符串互相转换

在用QT做一个串口通讯软件。在接收数据时,一般的串口收发软件的数据窗口都有ASCII显示模式,也可以转换成HEX十六进制模式。这样有利调试。 因此写了两个函数进行转换,其中ASCII转16进制算法...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

Hex与ASCII相互转换函数

char  HexToASCII(unsigned char  data_hex) {  char  ASCII_Data;  ASCII_Data=data_hex & 0x0F;  if...

Linux c 源码(nMAsciiHexToBinary:将16进制字符串格式转换为ASCII码形式)

short nMAsciiHexToBinary( unsigned char* vspSourceStr, short          vnSourceStrL, unsigned char* v...

VS2013串口通信

水平略低,若有不对请直接指出。 以前接触51的时候就听过串口,但是一直没有机会接触。这一次“炬芯杯”的比赛做一个激光打印机:计算机通过摄像头抓取到人脸,将人脸的数据发送给下位机打印出来,其中计算机和下...
  • yylogo
  • yylogo
  • 2015-03-29 22:05
  • 8986

20160426 VC++(VS2013)串口编程图文教程(MSComm的使用)

1、新建MFC对话框工程如下 2、给编辑框控件添加变量,其中Edit Box添加Value变量,Button添加Control变量,ID和变量分别为: IDC_EDIT_RXDATA() IDC_E...

VS2013 Windows API 串口通信编程--多线程异步方式

转载自:blog.csdn.net/mingojiang 1.串口通信基础 提到串口让人想起并口,它们是计算机中两个比较重要的通信方式. 串口:也叫COM口,把字节的二进制位按位列队进行传输,每个字...

[MFC]用CString表示的HEX和ASCII之间转换

在写串口程序的时候用到了要用 HEX 和 ASCII 之间的互相转换,这个是很简单,但是我用的是MFC中的 CString 来表示HEX的数字,而且中间要考虑一下HEX数字之间有空格间隔和无空格间隔等...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)