string BytesToHexStr(unsigned char* bytes,int length)
{
string buff = "";
for (int i = 0; i < length; i++)
{
int high = bytes[i] / 16;
int low = bytes[i] % 16;
buff += (high < 10) ? ('0' + high) : ('A' + high - 10);
buff += (low < 10) ? ('0' + low) : ('A' + low - 10);
}
return buff;
}
void HexToBytes(const string hex, unsigned char* bytes)
{
int len = hex.length() / 2;
string strByte;
unsigned int num;
for (int i = 0; i < len; i++)
{
strByte = hex.substr(i * 2, 2);
sscanf_s(strByte.c_str(), "%x", &num);
bytes[i] = num;
}
}
int BytesToInt(unsigned char* bytes, int length)
{
int num = 0;
num += ((bytes[0] & 0xff) << 24);
num += ((bytes[1] & 0xff) << 16);
num += ((bytes[2] & 0xff) << 8);
num += ((bytes[3] & 0xff));
return num;
}
short BytesToShort(unsigned char* bytes, int length)
{
int high = bytes[0];
int low = bytes[1];
return (high << 8 & 0xFF00) | (low & 0xFF);
}