char *HextoStr(unsigned char *str, unsigned int size)
{
static unsigned char *ibuff;
static unsigned char *obuff;
int i;
unsigned int length;
unsigned char ch[2];
length = size;
ibuff = (unsigned char*) malloc(length+1);
obuff = (unsigned char*) malloc(length*2+1);
strcpy(ibuff, str);
for(i=0; i<length; i++)
{
memset(ch, NULL, sizeof(ch));
sprintf(ch, "%02x", ibuff[i]);
obuff[i*2] = ch[0];
obuff[i*2+1] = ch[1];
}
return obuff;
}
% 요건 hex 값을 문자로 변환해서 String으로 만드는 함수인데요.
이건 문제가 없고 잘 됩니다.그런데
요걸 만들고 나니까 반대의 경우에 어떻게 해야할 지 막막하네요.
가령 buf[0]='1',buf[1]='2',buf[2]='f',buf[3]='f'
이렇게 들어있는 buf값을 2byte씩 잘라서 1byte의 hex로 만들고 싶은건데요.
그러니까 temp[0]=0x12, temp[1]=0xff 이렇게 들어가야겠져.
근데 막상 만들려니까 장난이 아니네여.
혹시 참고 할만한거나 아님 조언을 부탁드립니다.
그럼...
|