diff options
author | Raymaekers Luca <raymaekers.luca@gmail.com> | 2024-11-29 19:17:54 +0100 |
---|---|---|
committer | Raymaekers Luca <raymaekers.luca@gmail.com> | 2024-11-29 19:17:54 +0100 |
commit | 0a8efa37e85ad3fc0b633d5e92198b09cd7fd555 (patch) | |
tree | 30001a3c2a2444f204b7f80e36fd93cc0b9c7ff8 /bin/extra/asciiext | |
parent | 3d6ee0856e4477378e8237f11f6f74eec9754488 (diff) | |
parent | 1c632029d7a02742b0cc740b6984ce139429b88b (diff) |
Merge branch 'main' of db:dotfiles
Diffstat (limited to 'bin/extra/asciiext')
-rwxr-xr-x | bin/extra/asciiext | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/bin/extra/asciiext b/bin/extra/asciiext new file mode 100755 index 0000000..00e3408 --- /dev/null +++ b/bin/extra/asciiext @@ -0,0 +1,34 @@ +#!/bin/bash + +# heading index with div line +printf "\n "; # indent + +for x in {0..15}; do printf "%-3x" $x; done; +printf "\n%46s\n" | sed 's/ /-/g;s/^/ /'; + +# two lines with dots to represent control chars +c=$(echo "fa" | xxd -p -r | iconv -f 'CP437//' -t 'UTF-8') +printf "%32s" | sed 's/../'"$c"' /g;s/^/ 0 /;s/$/\n\n/' +printf "%32s" | sed 's/../'"$c"' /g;s/^/ 1 /' + +# convert dec to codepage 437 in a table +for x in {32..255}; +do + + # newline every 16 translated code values + (( x % 16 == 0 )) && printf "\n\n" + + # left index numbers + let "n = x % 15" + (( (x % 16) == 0 )) && printf "%-4x" $n | sed 's/0/f/;s/^/ /' + + # conversion of x integer value to symbol + printf "%02x" $x | xxd -p -r | iconv -f 'CP437//' -t 'UTF-8' | sed 's/.*/& /' + + # div line + (( x == 127 )) && printf "%46s" | sed 's/ /-/g;s/^/ /;i\ ' + +done +printf "%46s" | sed 's/ /-/g;s/^/\n /;s/$/\n /'; # div line +for x in {0..15}; do printf "%-3x" $x; done; +echo |