>
> I think padding should be optional (on by default to keep BC)
>
> Of course in user land, simple to write
>
> $enc = trim(base64_encode('foo'), '=');
>
> This proposal allow to simply use
>
> $enc = base64_encode('foo', PHP_BASE64_NO_PADDING);
>
>
Please add PHP_BASE64_URL flag also.
BASE64 URL encoding (URL safe Base64 encoding) is used everywhere.
i.e. str_replace(['+','/','='], ['-','_',''], base64_encode($str);
https://base64.guru/standards/base64url
Decoding should be extended.
i.e. base64_decode($encoded, PHP_BASE64_URL)
Adding PHP_BASE64_STRICT flag may be reasonable, that requires specific
encoding strictly for decoding.
Regards,
--
Yasuo Ohgaki
yohgaki@ohgaki.net