Answer by  
                                                                                          mahes (32209)
                                                            
                          
                          
                                                           Requirements: should handle both byte and UTF8 strings. isPRINT() characters printed as-is, character less than 256 as \xHH, Unicode characters as \x{HHH}. Don't assume ASCII-like, either, get somebody on EBCDIC to test the output.