consider byte to be unsigned
base64 encode/decode functions