将二进制数据转换为字符串显示

      在实际编程中,我们经常需要将接受的16进制数据转化为字符串的形式输出,例如:

   16进制数据:  01 C1 00 48 00 00 00 00 00 00 00 00 00 00 00 00 00 43 00

   转化为字符串:01C10048000000000000000000000000004300

   具体实现如下:

int charToString(char *src,char *dst,int len)
{
	unsigned char i = 0,tempData = 0;
	
	if (NULL == src)
		return -1;
	
	if (sizeof (dst) < len *2)
		return -1;
	
	for (i  =0 ;i < len;i++)
	{
		tempData=(*(src+3+i)>>4)&0x0f;
		if (tempData<10)
			dst[2*i+0]=tempData+48;
		else 
			dst[2*i+0]=tempData+55;
		tempData=*(src+3+i)&0x0f;
		if(tempData<10)
			dst[2*i+1]=tempData+48;
		else
			dst[2*i+1]=tempData+55;
	}
	
	return 0;
}



阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011430213/article/details/49927069
个人分类: C语言
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

将二进制数据转换为字符串显示

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭