[ https://issues.apache.org/jira/browse/CODEC-91?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12874348#action_12874348 ]
Julius Davies commented on CODEC-91: ------------------------------------ When we encode we tend to have at least 1 byte to encode == 8 bits. Base64 results in 6 bits of encoding per emitted byte, so modulus of 1 should be impossible. That first encoded byte will always result in two emitted bytes: [6 bits] [2 bits]. Still it's good info to see that codec-1.4 accidentally changed the behaviour here. I'll create a new ticket based on Raphael's comment. > Handling of embedded padding in base64 encoded data changed in 1.4 > ------------------------------------------------------------------ > > Key: CODEC-91 > URL: https://issues.apache.org/jira/browse/CODEC-91 > Project: Commons Codec > Issue Type: Bug > Affects Versions: 1.4 > Reporter: Chris Pimlott > Attachments: codec-91-actually-works-and-tests-yay.patch > > > 1.4 changed the way that embedded padding characters (i.e. "=") were handled > when decoding base64 data. Previously, the decoder ignored them and decoded > all the data. Now it stops upon encountering the first padding byte. This > breaks compatibility with previous versions. > For example, in 1.4, > b64.decode("Y29tbW9ucwo=".getBytes()); > gives the same result as > b64.decode("Y29tbW9ucwo=Y29tbW9ucwo=".getBytes()); -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.