//将每个十六进制存储的字节转换成ascii字符存储
char transitionlable(char x)
{char y;
switch(x)
{ case 0: y=48;break;
case 1: y=49;break;
case 2: y=50;break;
case 3: y=51;break;
case 4: y=52;break;
case 5: y=53;break;
case 6: y=54;break;
case 7: y=55;break;
case 8: y=56;break;
case 9: y=57;break;
case 10: y=65;break;
case 11: y=66;break;
case 12: y=67;break;
case 13: y=68;break;
case 14: y=69;break;
case 15: y=70;break;
default: break;
}
return (y);
//将icRead中的每个元素处理成高位和地位,分别调用转换函数,并存到icReadstr中作为独立的元素
char icReadHigh=0,icReadLow=0;
char icReadstr[400];
for(st=0;st<200;st++)
{
if((icRead[st]==0xff)&&(icRead[st+1]==0xff)&&(icRead[st+2]==0xff))
break;
printf("%02X",icRead[st]);
icReadHigh=(icRead[st]>>4)&0x0F; icReadLow=icRead[st]&0x0F;
icReadHigh=transitionlable(icReadHigh); icReadLow=transitionlable(icReadLow);
icReadstr[2*st]=icReadHigh; icReadstr[2*st+1]=icReadLow;
}