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