summaryrefslogtreecommitdiff
path: root/bin/extra/asciiext
diff options
context:
space:
mode:
authorRaymaekers Luca <raymaekers.luca@gmail.com>2024-11-29 19:17:54 +0100
committerRaymaekers Luca <raymaekers.luca@gmail.com>2024-11-29 19:17:54 +0100
commit0a8efa37e85ad3fc0b633d5e92198b09cd7fd555 (patch)
tree30001a3c2a2444f204b7f80e36fd93cc0b9c7ff8 /bin/extra/asciiext
parent3d6ee0856e4477378e8237f11f6f74eec9754488 (diff)
parent1c632029d7a02742b0cc740b6984ce139429b88b (diff)
Merge branch 'main' of db:dotfiles
Diffstat (limited to 'bin/extra/asciiext')
-rwxr-xr-xbin/extra/asciiext34
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