int main()
{
unsigned char *ascii = "ff3f3c4d";
unsigned char hex[8];
unsigned char arrary[4];
string2hex(ascii, 4, arrary);
printf("%02x %02x %02x %02x \n",arrary[0],arrary[1],arrary[2],arrary[3]);
return 0;
}
int string2hex(unsigned char *string, int number, unsigned char *arrary)
{
//ascii=변환할 스트링 값, number= 배열 크기, arrary=변환되어 저장될 공간
unsigned char AscToHex(unsigned char Data)
{
if(Data < 0x30)
return 0;
if( (0x30<= Data) && (Data<= 0x39) )
{
Data-= 0x30;
return Data;
}
if(('a'<= Data) && (Data<= 'f'))
{
Data-= 0x57;
return Data;
}
if(('A'<= Data) && (Data<= 'F'))
{
Data-= 0x37;
return Data;
}
return 0;
}
unsigned char hex[number*2];
int i=0;
for (i=0; i<number;i++)
{
hex[0] = AscToHex(string[i*2]);
hex[1] = AscToHex(string[(i*2)+1]);
arrary[i] = hex[0]<<4;
arrary[i] = arrary[i]|hex[1];
}
}
작성 : 20091018 by LIMHUNJUNG
http://www.4ellene.net

Comments List