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;
}
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: 如何在Android使用图标字体?
- 下一篇: lua--函数深入:闭合函数,局部函数,尾调用