Skip to content
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions Lib/base64.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
# Modified 30-Dec-2003 by Barry Warsaw to add full RFC 3548 support
# Modified 22-May-2007 by Guido van Rossum to use bytes everywhere

import re
import struct
import binascii

Expand Down Expand Up @@ -284,7 +283,7 @@ def b16decode(s, casefold=False):
s = _bytes_from_decode_data(s)
if casefold:
s = s.upper()
if re.search(b'[^0-9A-F]', s):
if s.translate(None, delete=b'0123456789ABCDEF'):
raise binascii.Error('Non-base16 digit found')
return binascii.unhexlify(s)

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
Improve performance of :func:`base64.b16decode` by a factor ten by
removing an un-necessary regular expression. Consequently, :mod:`re`
is no more implicitly available as ``base64.re`` and import time of
:mod:`base64` is improved by a factor six. Patch by Bénédikt Tran.
Loading