Hello,
On 2020-03-15 12:12 a.m., Kaz Kylheku (Coreutils) wrote:
On 2020-03-14 22:20, Peng Yu wrote:
Python base64 decoder has the altchars option.
[...]
But I don't see such an option in coreutils' base64. Can this option
be added? Thanks.
# use %* instead of +/:
base64 whatever | tr '+/' '%*'
The reason for alternative characters is typically do use then in URLs,
where "/" and "+" are problematic.
A new command "basenc" was introduced in coreutils version 8.31
(released last year) which supports multiple encodings.
One of these is a "web-safe" variant of base64, as defined in
RFC4648 section 5:
$ printf '\376\117\202' | basenc --base64
/k+C
$ printf '\376\117\202' | basenc --base64url
_k-C
regards,
- assaf
P.S.
The other supported encodings are (basenc --help):
--base64 same as 'base64' program (RFC4648 section 4)
--base64url file- and url-safe base64 (RFC4648 section 5)
--base32 same as 'base32' program (RFC4648 section 6)
--base32hex extended hex alphabet base32 (RFC4648 section 7)
--base16 hex encoding (RFC4648 section 8)
--base2msbf bit string with most significant bit (msb) first
--base2lsbf bit string with least significant bit (lsb) first