[
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]