Given this example in Python
sample = '5PB37L2CH5DUDWN2SUOYE6LJPYCJBFM5N2FGVEHF7HD224UR52KB===='
a = base64.b32decode(sample)
b = base64.b32encode(a)
why is it that
sample != b ?
BUT where
sample = '5PB37L2CH5DUDWN2SUOYE6LJPYCJBFM5N2FGVEHF7HD224UR52KBAAAA'
then
sample == b
the first sample you got there is invalid base64.
taken from wiki:
http://en.wikipedia.org/wiki/Base64#Examples
edit:
taken from RFC 4648:
4 times 8bits (the =’s) (at the end of your
sample) is more than 24bits so they are at the least unneccessary. (not sure what datatypesampleis, but find out and take it’s size times number of characters divided by 24)about your particular
sample:base-encoding reads in 24bit chunks and only needs ‘=’ padding characters at the end of the base’d string to make whatever was left of the string after splitting it into 24bit chunks be “of size 24” so it can be parsed by the decoder.
since the ====’s at the end of your string amount to more than 24bits they are useless, hence: invalid…