Skip to content

Commit 2650ec7

Browse files
committed
Optimize base64.py performance
1 parent 98d462c commit 2650ec7

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

Lib/base64.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -283,7 +283,8 @@ def b16decode(s, casefold=False):
283283
s = _bytes_from_decode_data(s)
284284
if casefold:
285285
s = s.upper()
286-
if s.translate(None, delete=b'0123456789ABCDEF'):
286+
delete= b'0123456789abcdef'
287+
if any(c not in delete for c in s):
287288
raise binascii.Error('Non-base16 digit found')
288289
return binascii.unhexlify(s)
289290

@@ -462,7 +463,7 @@ def b85decode(b):
462463
# Delay the initialization of tables to not waste memory
463464
# if the function is never called
464465
if _b85dec is None:
465-
_b85dec = [None] * 256
466+
_b85dec = bytearray(256)
466467
for i, c in enumerate(_b85alphabet):
467468
_b85dec[c] = i
468469

@@ -579,7 +580,8 @@ def decodebytes(s):
579580
# Usable as a script...
580581
def main():
581582
"""Small main program"""
582-
import sys, getopt
583+
import sys
584+
import getopt
583585
usage = f"""usage: {sys.argv[0]} [-h|-d|-e|-u] [file|-]
584586
-h: print this help message and exit
585587
-d, -u: decode

0 commit comments

Comments
 (0)