[ 
https://issues.apache.org/jira/browse/CODEC-94?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12850435#action_12850435
 ] 

Julius Davies commented on CODEC-94:
------------------------------------



This is not a dup of CODEC-89.  Notice this line in Lorenzo's original example:

Base64 b64 = new Base64(64);

That '64' is a request for chunked output (in 64 character lines).  The user is 
complaining that output with less than 64 characters should not end in CRLF, 
but as I showed in my Dec 3rd 2009 comment appending a final CRLF in chunked 
mode is the original commons-codec-1.3.jar behaviour.

Since commons-codec-1.3.jar has been appending a final CRLF in chunked mode for 
almost six years without anyone complaining (until now), I think we should 
leave it this way.  Users should run the output through String.trim() if they 
don't like this.




> unexpected CRLF at end of base64 encoded string
> -----------------------------------------------
>
>                 Key: CODEC-94
>                 URL: https://issues.apache.org/jira/browse/CODEC-94
>             Project: Commons Codec
>          Issue Type: Bug
>    Affects Versions: 1.4
>         Environment: java 1.6u17
> ubuntu linux 9.10
>            Reporter: Lorenzo Ingrillì
>
> Sometimes, a base64 encoded string ends inappropriately with \r\n characters.
> In the example below, i used value 64 as line lenght and the generated base64 
> string lenght was 44; nevertheless string ends with CRLF .
> (i think, this bug is not related to bug #CODEC-89)
> How to reproduce:
> {code:title=Test.java|borderStyle=solid}
> public class Test {
>       public static void main(String args[]) throws Exception {
>               byte[] input = new byte[] {
>                               25, 109, -39, -23, 82, -47, -88, 115, 
>                               -34, 126, -57, 16, -110, -110, 60, -7, 
>                               -123, -3, 60, 91, 112, -93, -67, -65, -71,
>                               -107, 123, -15, -106, 86, -80, 79
>               };
>               Base64 b64 = new Base64(64);
>               String output = new String(b64.encode(input));
>               System.out.println("*"+output+"*");
>       }
> }
> {code}
> the output was: GW3Z6VLRqHPefscQkpI8+YX9PFtwo72/uZV78ZZWsE8=\r\n

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

Reply via email to