您的位置:首页 > 其它

字符串字符显示与16进制显示之间的相互转换

2012-10-08 19:54 405 查看
字符串字符显示与16进制显示之间的相互转换.

   四个有用的函数:





   //Function to convert unsigned char to string of length 2

  

void CXXX::Char2Hex(unsigned char ch, char* szHex)

{

unsigned char byte[2];

byte[0] = ch/16;

byte[1] = ch%16;

for (int i=0;i<2;i++)

{

if (byte[i]>=0 && byte[i]<=9)

{

szHex[i] ='0'+byte[i];

}

else if (byte[i]>='a' && byte[i]<='f')

{

szHex[i]= 'a'+byte[i]-10;

}

else

{

szHex[i]= 'A'+byte[i]-10;

}

}

szHex[2] = 0;

}

   //Function to convert string of length 2 to unsigned char

   void CXXX::Hex2Char(char * szHex, unsigned char& rch)

   {

   rch = 0;

   for(int i=0; i<2; i++)

   {

   if(*(szHex + i) >='0' && *(szHex + i) <= '9')

   rch = (rch << 4) + (*(szHex + i) - '0');

   else if(*(szHex + i) >='A' && *(szHex + i) <= 'F')

   rch = (rch << 4) + (*(szHex + i) - 'A' + 10);

   else

   break;

   }

   }

   //Function to convert string of unsigned chars to string of chars

   void CXXX::CharStr2HexStr(unsigned char * pucCharStr, char* pszHexStr, int iSize)

   {

   int i;

   char szHex[3];

   pszHexStr[0] = 0;

   for(i=0; i<iSize; i++)

   {

   Char2Hex(pucCharStr[i], szHex);

   strcat(pszHexStr, szHex);

   }

   }

   //Function to convert string of chars to string of unsigned chars

   void CXXX::HexStr2CharStr(char * pszHexStr, unsigned char* pucCharStr, int iSize)

   {

   int i;

   unsigned char ch;

   for(i=0; i<iSize; i++)

   {

   Hex2Char(pszHexStr+2*i, ch);

   pucCharStr[i] = ch;

   }

   }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: