[ 
https://issues.apache.org/jira/browse/MIME4J-67?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12616030#action_12616030
 ] 

Stefano Bagnara commented on MIME4J-67:
---------------------------------------

A proof.

    public void testBase64Encoder() throws Exception {
        StringBuffer sb = new StringBuffer(2048);
        for (int i = 0; i < 128; i++) {
            sb.append("0123456789ABCDEF");
        }
        ByteArrayOutputStream out = new ByteArrayOutputStream();
        CodecUtil.encodeBase64(new 
ByteArrayInputStream(sb.toString().getBytes()), out);
        
        InputStream is = new Base64InputStream(new 
ByteArrayInputStream(out.toByteArray()));
        ByteArrayOutputStream outRoundtrip = new ByteArrayOutputStream();
        CodecUtil.copy(is, outRoundtrip);
        
        assertEquals(sb.toString(), new String(outRoundtrip.toByteArray()));
    }
    


> Base64Encoder fails to encode streams longer than its buffer size (1024)
> ------------------------------------------------------------------------
>
>                 Key: MIME4J-67
>                 URL: https://issues.apache.org/jira/browse/MIME4J-67
>             Project: Mime4j
>          Issue Type: Bug
>    Affects Versions: 0.4
>            Reporter: Stefano Bagnara
>             Fix For: 0.4
>
>
> When encoding streams longer than 1024 bytes the encoder simply concatenate 
> the base64 version of each 1024 chunk and this is wrong. Base64 streams are 
> only concatenable when the original text length was a multiple of 3. 
> Supporting buffer chunks encoding require keeping the last 1-2 bytes in a 
> buffer and eventually convert them to base64 ending sequences only when the 
> stream is closed.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to