- 论坛徽章:
- 0
|
#include <stdio.h>
char *AsciiToChar(char *asc,char str[])
{
int i=0,n=0,len;
char cTemp[1024];
memset(cTemp,0x00,sizeof(cTemp));
strcpy(cTemp,asc);
len=strlen(cTemp);
for(i=0;i<len;i+=2)
{
if(('0'<=cTemp[i]&&cTemp[i]<='9')&&('0'<=cTemp[i+1]&&cTemp[i+1]<='9'))
str[n++]=(char)(cTemp[i]<<4|(cTemp[i+1]&0x0F));
else if('0'<=cTemp[i]&&cTemp[i]<='9'&&('A'<=cTemp[i+1]&&cTemp[i+1]<='F')
)
str[n++]=(char)(cTemp[i]<<4|(cTemp[i+1]-0x37));
else if(('A'<=cTemp[i]&&cTemp[i]<='F')&&('0'<=cTemp[i+1]&&cTemp[i+1]<='9
'))
str[n++]=(char)(((cTemp[i]-0x37)<<4)|(cTemp[i+1]&0x0F));
else if(('A'<=cTemp[i]&&cTemp[i]<='F')&&('A'<=cTemp[i+1]&&cTemp[i+1]<='F
'))
str[n++]=(char)(((cTemp[i]-0x37)<<4)|(cTemp[i+1]-0x37));
else
printf("your input is wrong!!");
}
str[n]='\0';
return str;
}
int main()
{
char strin[1024];
int i;
memset(strin,0x00,sizeof(strin));
printf("%s\n",AsciiToChar("3132333435D6D0B6ABD6D0",strin));
exit(0);
}
| 不知道这个能不能达到你的要求 |
|