48
48
__version__ = "0.0.0-auto.0"
49
49
__repo__ = "https://github.com/adafruit/Adafruit_CircuitPython_binascii.git"
50
50
51
- # pylint: disable=bad-whitespace
51
+
52
52
TABLE_A2B_B64 = [
53
- - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 ,
54
- - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 ,
55
- - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , 62 , - 1 , - 1 , - 1 , 63 ,
56
- 52 , 53 , 54 , 55 , 56 , 57 , 58 , 59 , 60 , 61 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 ,
53
+ - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 ,
54
+ - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 ,
55
+ - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , 62 , - 1 , - 1 , - 1 , 63 ,
56
+ 52 , 53 , 54 , 55 , 56 , 57 , 58 , 59 , 60 , 61 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 ,
57
57
- 1 , 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 ,
58
- 15 , 16 , 17 , 18 , 19 , 20 , 21 , 22 , 23 , 24 , 25 ,- 1 , - 1 , - 1 , - 1 , - 1 ,
59
- - 1 , 26 , 27 , 28 , 29 , 30 ,31 , 32 , 33 , 34 , 35 , 36 , 37 , 38 , 39 , 40 ,
60
- 41 , 42 , 43 , 44 , 45 , 46 , 47 , 48 , 49 , 50 , 51 ,- 1 , - 1 , - 1 , - 1 , - 1 ,
61
- - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 ,
62
- - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 ,
63
- - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 ,
64
- - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 ,
65
- - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 ,
66
- - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 ,
67
- - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 ,
68
- - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 ,
58
+ 15 , 16 , 17 , 18 , 19 , 20 , 21 , 22 , 23 , 24 , 25 , - 1 , - 1 , - 1 , - 1 , - 1 ,
59
+ - 1 , 26 , 27 , 28 , 29 , 30 , 31 , 32 , 33 , 34 , 35 , 36 , 37 , 38 , 39 , 40 ,
60
+ 41 , 42 , 43 , 44 , 45 , 46 , 47 , 48 , 49 , 50 , 51 , - 1 , - 1 , - 1 , - 1 , - 1 ,
61
+ - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 ,
62
+ - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 ,
63
+ - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 ,
64
+ - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 ,
65
+ - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 ,
66
+ - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 ,
67
+ - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 ,
68
+ - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 ,
69
69
]
70
70
71
+ TABLE_B2A_B64 = (
72
+ "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" )
73
+
74
+ class Error (Exception ):
75
+ """Exception raised on errors. These are usually programming errors."""
76
+ # pylint: disable=unnecessary-pass
77
+ pass
71
78
72
79
if not "unhexlify" in globals ():
73
80
# pylint: disable=function-redefined
74
81
def unhexlify (hexstr ):
75
82
"""Return the binary data represented by hexstr.
76
83
:param str hexstr: Hexadecimal string.
84
+
77
85
"""
78
86
if len (hexstr ) % 2 != 0 :
79
- raise ValueError ("Odd-length string" )
87
+ raise Error ("Odd-length string" )
80
88
81
89
return bytes ([int (hexstr [i : i + 2 ], 16 ) for i in range (0 , len (hexstr ), 2 )])
82
90
@@ -91,6 +99,7 @@ def hexlify(data):
91
99
as long as the length of data.
92
100
93
101
:param bytes data: Binary data, as bytes.
102
+
94
103
"""
95
104
if not data :
96
105
raise TypeError ("Data provided is zero-length" )
@@ -108,7 +117,11 @@ def _transform(n):
108
117
assert len (TABLE_A2B_B64 ) == 256
109
118
110
119
def a2b_base64 (b64_data ):
111
- "Decode a line of base64 data."
120
+ """Convert a block of base64 data back to binary and return the binary data.
121
+
122
+ :param str b64_data: Base64 data.
123
+
124
+ """
112
125
res = []
113
126
quad_pos = 0
114
127
leftchar = 0
@@ -144,14 +157,12 @@ def a2b_base64(b64_data):
144
157
145
158
return b'' .join (res )
146
159
147
- # ____________________________________________________________
148
-
149
- TABLE_B2A_B64 = (
150
- "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" )
151
-
152
160
def b2a_base64 (bin_data ):
153
- "Base64-code line of data."
161
+ """Convert binary data to a line of ASCII characters in base64 coding.
162
+
163
+ :param str bin_data: Binary data string, as bytes
154
164
165
+ """
155
166
newlength = (len (bin_data ) + 2 ) // 3
156
167
newlength = newlength * 4 + 1
157
168
res = []
0 commit comments