- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
#include <conio.h>
static unsigned char bigArray[256] = {['0'] = 0, ['1'] = 1, ['2'] = 2, ['3'] = 3,
['4'] = 4, ['5'] = 5, ['6'] = 6, ['7'] = 7,
['8'] = 8, ['9'] = 9, ['A'] = 10, ['B'] = 11,
['C'] = 12, ['D'] = 13, ['E'] = 14, ['F'] = 15 };
void StringToByte(const char src[], unsigned char dst[])
{
int q, u = 0;
for (q = 0; src[q]; q+=2)
{
dst[u] = bigArray[src[q]] << 4;
if (!src[q+1])
return;
dst[u++] |= bigArray[src[q+1]];
}
}
int main()
{
char string[] = "112255ACBF";
unsigned char bytes[5];
StringToByte(string, bytes);
int i;
for (i = 0; i!=sizeof(bytes); i++)
printf("%x ", (int)bytes[i]);
return 0;
}