# 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);
'
}
In reply to improve hexdump output by daxim
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |