예제 #1
0
int TDataSwitch::strToHex(unsigned char *ch, unsigned char *hex) {
	int high, low;
	int tmp = 0;
	if (ch == NULL || hex == NULL) {
		return -1;
	}

	if (strlen(ch) == 0) {
		return -2;
	}

	while (*ch) {
		tmp = (int) * ch;
		high = tmp >> 4;
		low = tmp & 15;
		*hex++ = valueToHexCh(high); // 先写高字节
		*hex++ = valueToHexCh(low); // 其次写低字节
		ch++;
	}
	*hex = '\0';
	return 0;
}
예제 #2
0
int CBm53AES::strToHex(const char *ch, char *hex)
{
  int high,low;
  int tmp = 0;
  if(ch == NULL || hex == NULL){
    return -1;
  }

  if(strlen(ch) == 0){
    return -2;
  }

  while(*ch){
    tmp = (int)*ch;
    high = tmp >> 4;
    low = tmp & 15;
    *hex++ = valueToHexCh(high); //œ»–¥∏fl◊÷Ω⁄
    *hex++ = valueToHexCh(low); //∆‰¥Œ–¥µÕ◊÷Ω⁄
    ch++;
  }
  *hex = '\0';
  return 0;
}
예제 #3
0
int CBm53AES::ucharToHex(const unsigned char *uch, char *hex,int nLen)
{
  int high,low;
  int tmp = 0;
  if(uch == NULL || hex == NULL){
    return -1;
  }
  if(getUCharLen(uch) == 0){
    return -2;
  }
  int n = 0;
   while(n<nLen){
    tmp = (int)*uch;
    high = tmp >> 4;
    low = tmp & 15;
    *hex++ = valueToHexCh(high); //œ»–¥∏fl◊÷Ω⁄
    *hex++ = valueToHexCh(low); //∆‰¥Œ–¥µÕ◊÷Ω⁄
    uch++;
	n++;
  } 
  *hex = '\0';
  return 0;
}