make_base64_decode_table.py 482 B

123456789101112131415161718
  1. """
  2. Generate the BASE64_DECODE_TABLE constant. See its doc-comment.
  3. """
  4. import string
  5. # https://tools.ietf.org/html/rfc4648#section-4
  6. alphabet = string.ascii_uppercase + string.ascii_lowercase + string.digits + "+/"
  7. reverse_table = [-1] * 256
  8. for i, symbol in enumerate(alphabet):
  9. reverse_table[ord(symbol)] = i
  10. print("[")
  11. per_line = 16
  12. for line in range(0, 256, per_line):
  13. print(" " + "".join(" %2s," % value for value in reverse_table[line:][:per_line]))
  14. print("]")