Skip to content

Commit 544e1cc

Browse files
committed
Fixed multiple base codecs
1 parent cb66568 commit 544e1cc

4 files changed

Lines changed: 7 additions & 7 deletions

File tree

codext/base/base100.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ def base100_encode(input, errors="strict"):
3737
return bytes(r), len(input)
3838

3939
def base100_decode(input, errors="strict"):
40-
input = b(input)
40+
input = b(_stripl(input, True, True))
4141
if errors == "ignore":
4242
input = input.replace(b"\n", "")
4343
if len(input) % 4 != 0:

codext/base/base122.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,9 +98,9 @@ def _get_7bits(currB, bob, B, decoded):
9898
currB, bob = _get_7bits(currB, bob, input[i] & 127, r)
9999
else:
100100
currB, bob = _get_7bits(currB, bob, input[i], r)
101-
return "".join(map(chr, r)), len(input)
101+
return "".join(map(chr, r)).rstrip("\0"), len(input)
102102

103103

104104
add("base122", base122_encode, base122_decode, r"^base[-_]?122$", expansion_factor=1.085)
105-
main122 = main(122, "<http://blog.kevinalbs.com/base122>")
105+
main122 = main(122, "<http://blog.kevinalbs.com/base122>", wrap=False)
106106

codext/base/base91.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ def encode(text, errors="strict"):
7272
def base91_decode(mode):
7373
b91 = {c: i for i, c in enumerate(_get_charset(B91, mode))}
7474
def decode(text, errors="strict"):
75-
t, s, bits, alt = b(text), "", "", re.search(r'[-_]alt(ernate)?$', mode) is not None
75+
t, s, bits, alt = b(_stripl(text, True, True)), "", "", re.search(r'[-_]alt(ernate)?$', mode) is not None
7676
ehandler = handle_error("base91", errors, decode=True)
7777
for i in range(0, len(t), 2):
7878
try:
@@ -103,7 +103,7 @@ def decode(text, errors="strict"):
103103
bits = bits[8:]
104104
elif not alt and len(bits) > 0 and not set(bits) == {"0"}:
105105
s += chr(int(bits, 2))
106-
return s, len(t)
106+
return s.rstrip("\0"), len(t)
107107
return decode
108108

109109

codext/base/baseN.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@
8282
r'[-_]?(fl|flickr|short[-]?url|url)$': "123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ",
8383
}
8484
base(B58, r"^base[-_]?58(|[-_](bc|bitcoin|rp|ripple|fl|flickr|short[-]?url|url))$",
85-
guess=["base58", "base58-ripple", "base58-flickr"])
85+
guess=["base58-bitcoin", "base58-ripple", "base58-flickr"])
8686
main58bc = main(58, "<https://en.bitcoinwiki.org/wiki/Base58>", "bitcoin")
8787
main58rp = main(58, "<https://en.bitcoinwiki.org/wiki/Base58>", "ripple")
8888
main58fl = main(58, "<https://en.bitcoinwiki.org/wiki/Base58>", "flickr")
@@ -119,7 +119,7 @@
119119

120120
B128 = {r'': "".join(chr(i) for i in range(128))}
121121
base(B128, r"^base[-_]?128$", padding_char="=")
122-
main128 = main(128, None, False)
122+
main128 = main(128, None, False, wrap=False)
123123

124124

125125
# generic base encodings, to be added after all others as they have the precedence

0 commit comments

Comments
 (0)