当前位置: 代码迷 >> C语言 >> 小弟请教一个字符数组转换为十六进制字符串函数
  详细解决方案

小弟请教一个字符数组转换为十六进制字符串函数

热度:135   发布时间:2007-09-28 11:13:26.0
小弟请教一个字符数组转换为十六进制字符串函数

void Byte2Hex(uchar *byte,uchar len,uchar *str)
{
uchar i,j;
uchar tmp;

j=strlen(str);
for(i=0;i<len;i++)
{
tmp=((*byte)>>4)&0x0f;
if (tmp<0x0a)
*(str+j)=tmp+0x30;
else
*(str+j)=tmp-0x0a+'a';
str++;
tmp=(*byte)&0x0f;
if(tmp<0x0a)
*(str+j)=tmp+0x30;
else
*(str+j)=tmp-0x0a+'a';
str++;
}
*(str+j)=0;
}
小弟对这个程序不是很懂,望详细指教

搜索更多相关的解决方案: 十六进制  函数  字符  

----------------解决方案--------------------------------------------------------

0xf3->'f','3'
高4位值为0x0f,即15,要存成字符'f',则需15-10+'a'
低4位值为0x03,即3,要存成字符'3',则需加上偏移量'0','0'的ASCII即0x30


----------------解决方案--------------------------------------------------------
  相关解决方案