hexdump only shows ASCII characters in the visualisation column, and substitutes everything else with a period. That's lame, but nothing that the following filter from my ~/.bashrc couldn't fix:
# Turn 1220 4c 29 e5 41 89 ff 49 89 f6 48 c1 fd 03 49 89 d5 L).A..I. .H...I.. # into 1220 4c 29 e5 41 89 ff 49 89 f6 48 c1 fd 03 49 89 d5 L)åA�ÿI�öHÁý␃I�Õ # requires http://catb.org/~esr/hexdump/ hex () { hexdump $@ | perl -C -ne' $_ = substr $_, 0, 56; # without right-hand side columns print $_; @F = split; # split on space shift @F; # drop address column for (@F) { $h = hex; if ($h < 32) { print chr($h+0x2400); # control character symbols } elsif (127 == $h) { print chr 0x2421; # delete symbol } elsif (0x80 <= $h and $h <= 0x9f) { print chr 0xFFFD; # undefined in iso-latin-1 } elsif (0xa0 == $h) { print chr 0x2420; # non-breaking space as space symbol } else { print chr $h; # just the character as is }; }; print qq(\n); ' }
|
---|
Back to
Cool Uses for Perl