On Tue, 2011-04-19 at 03:14 -0400, Duncan Murdoch wrote: > On 11-04-18 9:51 PM, Matt Shotwell wrote: > > Does anyone know if there is a simple way to print raw vectors, such > > that ASCII characters are printed for bytes in the ASCII range, and > > their hex representation otherwise? rawToChar doesn't work when we have > > something like c(0x00, 0x00, 0x44, 0x00). > > Do you really need hex? rawToChar(x, multiple=TRUE) comes close, but > displays using octal or symbolic escapes, e.g.
No, but I've almost learned to count efficiently in hex. :) > [1] "" "\001" "\002" "\003" "\004" "\005" "\006" "\a" "\b" > "\t" "\n" > [12] "\v" "\f" "\r" "\016" "\017" "\020" "\021" "\022" "\023" > "\024" "\025" > [23] "\026" "\027" "\030" "\031" "\032" "\033" "\034" "\035" "\036" > "\037" " " > [34] "!" "\"" "#" "$" "%" "&" "'" "(" ")" > "*" "+" > > If you really do want hex, then you'll need something like > > ifelse( x < 32 | x >= 127, as.character(x), rawToChar(x, multiple=TRUE)) That does it. Thanks. -Matt > Duncan Murdoch ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.