//功能:将16进制转换成字符串
//时间:2018年9月13日
#include "stdio.h"
#include "string.h"
char data[5]={0x12,0xfe,0x5b};
char input[10];
int main(void)
{
int i, b,c;
int j=0;
for(i=0;i<strlen(data);i++)
{
if((data[i]&0xf0)<=0x90) //取出16进制的高位,判断是否小于等于9
{
input[j]=((data[i]&0xf0)>>4)-0x00+48; //得出高位的AISSIC码值
}
else //大于9,即a~f
input[j]=((data[i]&0xf0)>>4)-0x0a+97;
if((data[i]&0x0f)<=0x09) //取出16进制的低位
{
input[j+1]=(data[i]&0x0f)-0x00+48;
}
else
input[j+1]=(data[i]&0x0f)-0x0a+97;
j+=2;
}
printf("%s",input);
}