Subject: bug#66698: I think hex decoding with basenc -d --base16 should be case-insensitive

From: Niels Möller <[email-masked]>
Date: Mon, 23 Oct 2023 11:37:36 +0200

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).

Regards,
/Niels

-- 
Niels Möller. PGP key CB4962D070D77D7FCB8BA36271D8F1FF368C6677.
Internet email is subject to wholesale government surveillance.