Hexadecimal formating tools (WvHex.cc)

hexify()

void hexify(char *obuf, unsigned char *ibuf, size_t len)

Write the contents of the binary string of length 'len' pointed to by 'ibuf' into the output buffer 'obuf' in hexadecimal format.

For example, if len==4, ibuf=="ABCDEF", then obuf will contain "41424344" with a terminating NUL character.

This is useful to turn arbitrary binary into a simple printable format, so that it can (for example) be written to a WvConf configuration file.

obuf must be a buffer with at least (len * 2) + 1 bytes available. (two digits for each byte of ibuf, plus a terminating NUL).

unhexify()

void unhexify(unsigned char *obuf, char *ibuf)

Reverse the operation performed by hexify(). obuf must be a buffer large enough to contain the entire binary output string; you can calculate this size with (strlen(ibuf) / 2). obuf will NOT be automatically NUL-terminated.