Hi,
the docs for basenc --base16 says "hex encoding (RFC4648 section 8)".
The referenced section in that RFC says
Essentially, Base 16 encoding is the standard case-insensitive hex
encoding and may be referred to as "base16" or "hex".
I think it would be both more useful, and consistent with docs, if
basenc -d --base16 accepted either upper- or lowercase hex digits.
Current behavior, with basenc (GNU coreutils) 9.1:
$ echo 666F6F0A |basenc --base16 -d
foo
$ echo 666F6f0A |basenc --base16 -d
fobasenc: invalid input
I think both inputs should give the same output, "foo\n", at least by
default. Possibly configurable with options like --strict, --upper,
--lower, etc (--upper/--lower would be useful also for the --base16
encoding, i.e., no -d).