How convert large HEX string to binary
I have a string with characters. This is a hex represantation of 7bytes. I want to convert it to binary.
int32_t Hex2bin (uint8_t * phexstring, uint8_t *Pbinarray) { into =0; inti =0; while(phexstring[i]! =0x00 ) { Switch(phexstring[i]) { Case '0': pbinarray[O]=0x00; Break; Case '1': pbinarray[O]=0x10; Break; Case '2': pbinarray[O]=0x20; Break; Case '3': pbinarray[O]=0x30; Break; Case '4': pbinarray[O]=0x40; Break; Case '5': pbinarray[O]=0x50; Break; Case '6': pbinarray[O]=0x60; Break; Case '7': pbinarray[O]=0x70; Break; Case '8': pbinarray[O]=0x80; Break; Case '9': pbinarray[O]=0x90; Break; Case 'A': Case 'a': pbinarray[O]=0xa0; Break; Case 'B': Case 'b': pbinarray[O]=0xb0; Break; Case 'C': Case 'C': pbinarray[O]=0xc0; Break; Case 'D': Case 'D': pbinarray[O]=0xd0; Break; Case 'E': Case 'e': pbinarray[O]=0xe0; Break; Case 'F': Case 'F': pbinarray[O]=0xf0; Break; default: return-1; } if(phexstring[i +1] ==0x00 ) return-1; Switch(phexstring[i +1 ] ) { Case '0': pbinarray[O]|=0x00; Break; Case '1': pbinarray[O]|=0x01; Break; Case '2': pbinarray[O]|=0x02; Break; Case '3': pbinarray[O]|=0x03; Break; Case '4': pbinarray[O]|=0x04; Break; Case '5': pbinarray[O]|=0x05; Break; Case '6': pbinarray[O]|=0x06; Break; Case '7': pbinarray[O]|=0x07; Break; Case '8': pbinarray[O]|=0x08; Break; Case '9': pbinarray[O]|=0x09; Break; Case 'A': Case 'a': pbinarray[O]|=0x0a; Break; Case 'B': Case 'b': pbinarray[O]|=0x0b; Break; Case 'C': Case 'C': pbinarray[O]|=0x0c; Break; Case 'D': Case 'D': pbinarray[O]|=0x0d; Break; Case 'E': Case 'e': pbinarray[O]|=0x0e; Break; Case 'F': Case 'F': pbinarray[O]|=0x0f; Break; default: return-1; } I+=2; o++; } returno;}
How do convert large HEX string to binary array?