Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

113 Zeilen
3.3 KiB

vor 2 Jahren
# -*- coding: utf-8 -*-
class ModifiedBase64(object):
def __init__(self):
self.aae = ['K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J',
'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x',
'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7',
'8', '9', '+', '/']
self.aaf = [None] * 128
# renamed from: pf
# def m23208pf(self):
i = 0
i2 = 0
while True:
bArr = self.aaf
if i2 <= len(bArr) - 1:
bArr[i2] = -1
i2 += 1
else:
break
while True:
cArr = self.aae
if i <= len(cArr) - 1:
self.aaf[ord(cArr[i])] = int(i)
i += 1
else:
return
def m23207r(self, str_):
result = ''
bArr = bytearray(str_.encode('utf-8'))
i = 0
while i <= len(bArr) - 1:
bArr2 = [None] * 4
b = 0
i2 = 0
while i2 <= 2:
i3 = i + i2
if i3 <= len(bArr) - 1:
bArr2[i2] = (b | ((bArr[i3] & 255) >> ((i2 * 2) + 2)))
b = ((((bArr[i3] & 255) << (((2 - i2) * 2) + 2)) & 255) >> 2)
else:
bArr2[i2] = b
b = 0x40 # SignedBytes.MAX_POWER_OF_TWO;
i2 += 1
bArr2[3] = b
i4 = 0
while i4 <= 3:
if bArr2[i4] <= 63:
result = result + self.aae[bArr2[i4]]
else:
result = result + '='
i4 += 1
i += 3
return result
# renamed from: eC
def m23209eC(self, str_):
""" generated source for method m23209eC """
bys = []
# bytes = str_.encode('utf-8')
bytes = bytearray(str_.encode('utf-8'))
# print(bytes)
bArr = [None] * len(bytes)
i = 0
while i <= len(bytes) - 1:
bArr[i] = self.aaf[bytes[i]]
i += 1
i2 = 0
while i2 <= len(bArr) - 1:
bArr2 = [None] * 3
i3 = 0
i4 = 0
i7 = 0
while i4 <= 2:
i5 = i2 + i4
i6 = i5 + 1
if i6 <= len(bArr) and bArr[i6] >= 0:
bArr2[i4] = ((bArr[i5] & 255) << ((i4 * 2) + 2)) | ((bArr[i6] & 255) >> (((2 - (i4 + 1)) * 2) + 2))
i3 += 1
i4 += 1
while i7 <= i3 - 1:
bys.append(self.py2ja(bArr2[i7]))
i7 += 1
i2 += 4
return bytearray(bys).decode('utf-8')
def py2ja(self, arr: int):
"""
python字节数组转java字节数组
:return:
"""
while arr >= 256:
arr = arr - 256
return arr
if __name__ == '__main__':
# UUID = "ENYnDJO5CNGnCJC5DzcyBWHtEJK4ENcyDJu3EG=="
v = ModifiedBase64()
# a = v.m23209eC(UUID)
# print(a)
text = '5ZIG5Ya26AQX6YQJ5YsY6SML5bsS'
print(v.m23209eC(text))
text = '唐冶街道刘老师'
print(v.m23207r(text))