def encode(self, enc, data):
assert isinstance(data, (bytearray, bytes))
enc = enc.lower()
assert self._in_list(enc, ENCODINGS),\
'Unknown encoding %s' % enc
if enc == 'base64':
output = base64.b64encode(data)
elif enc == 'base64 url':
output = base64.urlsafe_b64encode(data)
elif enc == 'base32':
output = base64.b32encode(data)
elif enc == 'base85':
output = base64.b85encode(data)
elif enc == 'hex':
output = codecs.encode(data, 'hex')
elif enc == 'url':
# urllib requires str?
output = urllibparse.quote_plus(data.decode())
output = output.encode()
elif enc == 'html':
# html module requires str?
output = html_encode(data.decode())
output = output.encode()
elif enc == 'rot13':
output = codecs.encode(data.decode(), 'rot_13')
output = output.encode()
elif enc == 'utf8':
output = codecs.encode(data.decode(), 'utf8')
elif enc == 'utf16':
output = codecs.encode(data.decode(), 'utf16')
else:
output = data
return output
评论列表
文章目录