/* Convert a buffer of binary values into a hex string representation */
char* bytesToHexString(uint8_t *bytes, size_t buflen)
{
    char *retval;
    int i;

    retval = malloc(buflen*2 + 1);
    for(i=0; i<buflen; i++) {
        retval[i*2] = nibbleToChar(bytes[i] >> 4);
        retval[i*2+1] = nibbleToChar(bytes[i] & 0x0f);
    }
    retval[i*2] = '\0';
    return retval;
}
Example #2
0
/* Convert a buffer of binary values into a hex string representation */
char
*bytesToHexString(byteBuffer bb)
{
	char *retval;
	size_t i;
	
	retval = malloc(bb->len*2 + 1);
	for(i=0; i<bb->len; i++) {
		retval[i*2] = nibbleToChar(bb->bytes[i] >> 4);
		retval[i*2+1] = nibbleToChar(bb->bytes[i] & 0x0f);
	}
    retval[bb->len*2] = 0;
	return retval;
}
Example #3
0
char
*bytesToHexStringWithSpaces(byteBuffer bb, int breaks)
{
	char *retval;
	size_t i, j;
    
    if(breaks == 0) {
        return bytesToHexString(bb);
    }
	
    breaks /= 2;
	retval = malloc(bb->len*2 + 1 + (bb->len*2 / breaks) + 10);
	for(i=0, j=0; i<bb->len; i++, j+=2) {
		retval[j] = nibbleToChar(bb->bytes[i] >> 4);
		retval[j+1] = nibbleToChar(bb->bytes[i] & 0x0f);
        if(((i+1) % breaks) == 0) {
            retval[j+2] = ' ';
            retval[j+3] = 0;
            j++;
        }
	}
	return retval;
}
Example #4
0
static unsigned char* bytesToHexString(unsigned char* bytes, unsigned long byteLength, unsigned char* buffer, unsigned long bufferLength)
{
	unsigned long i;
	
	// Ensure the output buffer is big enough
	if (byteLength > ((bufferLength - 1)/2))
	{
		return NULL;
	}
    
	// clear out the output buffer
	memset(buffer, 0, bufferLength);
	
	// loop through the bytes and fill in the output buffer
	for(i = 0; i < byteLength; i++) 
    {
		buffer[i*2] = nibbleToChar(bytes[i] >> 4);
		buffer[i*2+1] = nibbleToChar(bytes[i] & 0x0f);
	}
	
	// return the buffer pointer
	return buffer;
}