digit 0 is always mapped to the letter O). For security purposes the default is
``None``, so that 0 and 1 are not allowed in the input.
- The decoded byte string is returned. A :exc:`TypeError` is raised if *s* were
+ The decoded byte string is returned. A :exc:`binascii.Error` is raised if *s* were
incorrectly padded or if there are non-alphabet characters present in the
string.
eq(base64.b32decode(data, True), res)
eq(base64.b32decode(data.decode('ascii'), True), res)
- self.assertRaises(TypeError, base64.b32decode, b'me======')
- self.assertRaises(TypeError, base64.b32decode, 'me======')
+ self.assertRaises(binascii.Error, base64.b32decode, b'me======')
+ self.assertRaises(binascii.Error, base64.b32decode, 'me======')
# Mapping zero and one
eq(base64.b32decode(b'MLO23456'), b'b\xdd\xad\xf3\xbe')
eq(base64.b32decode(data_str, map01=map01), res)
eq(base64.b32decode(data, map01=map01_str), res)
eq(base64.b32decode(data_str, map01=map01_str), res)
+ self.assertRaises(binascii.Error, base64.b32decode, data)
+ self.assertRaises(binascii.Error, base64.b32decode, data_str)
def test_b32decode_error(self):
- for data in [b'abc', b'ABCDEF==']:
+ for data in [b'abc', b'ABCDEF==', b'==ABCDEF']:
with self.assertRaises(binascii.Error):
base64.b32decode(data)
with self.assertRaises(binascii.Error):
Library
-------
+- Issue #18011: base64.b32decode() now raises a binascii.Error if there are
+ non-alphabet characters present in the input string to conform a docstring.
+ Updated the module documentation.
+
- Issue #13772: Restored directory detection of targets in ``os.symlink`` on
Windows, which was temporarily removed in Python 3.2.3 due to an incomplete
implementation. The implementation now works even if the symlink is created