入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

ASCII 转16进制 和 16进制转ASCII

创建时间:2009-08-14 投稿人: 浏览次数:4545

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。
  • 上一篇:没有了
  • 下一篇:没有了
未上传头像