mayeut · GitHub

Bug report

Bug description:

An error is raised for the following valid test cases using the newly introduced ignorechars parameter

import base64
assert base64.b64decode(b'/----', altchars=b'-+', ignorechars=b'/') == b'\xfb\xef\xbe'
assert base64.b64decode(b'+----', altchars=b'/-', ignorechars=b'+') == b'\xff\xff\xff'

For both we get:

binascii.Error: Invalid base64-encoded string: number of data characters (5) cannot be 1 more than a multiple of 4

In both cases, the leading byte should be ignored thus giving a 4 bytes valid input.

CPython versions tested on:

CPython main branch

Operating systems tested on:

macOS

Linked PRs

Read the original on github.com ↗