Need to hex encode data for non-8 Bit Clean safe transport.

For even moderately large data this can expend an immense amount of effort.

<?php
function hexencode($data) {
    
$ascii unpack("C*"$data);
    
$retval '';
    foreach (
$ascii as $v) {
        
$retval .= sprintf("%02x"$v);
    }
    return 
$retval;
}

function 
hexdecode($data) {
    
$len strlen($data);
    
$retval '';
    for(
$i=0$i $len$i+= 2) {
        
$retval .= pack("C"hexdec(
                
substr($data$i2)
            )
        );
    }
    return 
$retval;
}
?>