前言
一种简单的方法将十六进制字符串转为二进制字符串,不限制十六进制的字节数。
一. 源代码
传入的十六进制字符串需要转换为大写!(%X, toupper())。
string GetBinaryStringFromHexString (string strHex)
{
string sReturn = "";
unsigned int len = strHex.length();
for (unsigned int i = 0; i<len; i++)
{
switch ( strHex[i])
{
case '0': sReturn.append ("0000"); break;
case '1': sReturn.append ("0001"); break;
case '2': sReturn.append ("0010"); break;
case '3': sReturn.append ("0011"); break;
case '4': sReturn.append ("0100"); break;
case '5': sReturn.append ("0101"); break;
case '6': sReturn.append ("0110"); break;
case '7': sReturn.append ("0111"); break;
case '8': sReturn.append ("1000"); break;
case '9': sReturn.append ("1001"); break;
case 'A': sReturn.append ("1010"); break;
case 'B': sReturn.append ("1011"); break;
case 'C': sReturn.append ("1100"); break;
case 'D': sReturn.append ("1101"); break;
case 'E': sReturn.append ("1110"); break;
case 'F': sReturn.append ("1111"); break;
}
}
return sReturn;
}