On 13-03-2024 17:06, Remi Collet wrote:
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); And also expose it for extension as PHPAPI extern zend_string *php_base64_encode_ex (const unsigned char *, size_t, zend_long flags); Use case: for ARGON2 password hashing see https://github.com/php/php-src/pull/13635 It may seems ugly to add and remove th padding char Is a RFC needed for such a minor feature ? Remi
Great addition! Only I would strongly prefer a boolean argument over a flag. Especially now that we have named arguments, adding a bunch of optional boolean arguments to the signature does not lead to unreadable code anymore. In fact, I think it yields code that is easier to read.
Regards, Dik
