ASCII 转16进制 和 16进制转ASCII
int Ascii2Hex(const char *hex,char * ascii) //16进制转ASCII
{
int len = strlen(hex), tlen, i, cnt;
for (i = 0, cnt = 0, tlen = 0; i<len; i++)
{
char c = toupper(hex[i]);
if ((c>="0"&& c<="9") || (c>="A"&& c<="F"))
{
BYTE t = (c >= "A") ? c - "A" + 10 : c - "0";
if (cnt)
ascii[tlen++] += t, cnt = 0;
else
ascii[tlen] = t << 4, cnt = 1;
}
}
return tlen;
}
int Ascii2Hex(char* ascii, char* hex) //ASCII 转16进制
{
int i, len = strlen(ascii);
char chHex[] = "0123456789ABCDEF";
for (i = 0; i<len; i++)
{
hex[i*3] = chHex[((BYTE)ascii[i]) >> 4];
hex[i*3 +1] = chHex[((BYTE)ascii[i]) & 0xf];
hex[i*3 +2] = " ";
}
hex[len * 3] = "/0";
return len * 3;
}
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
- 上一篇:没有了
- 下一篇:没有了