You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Julius Davies (JIRA)" <ji...@apache.org> on 2010/03/27 01:49:27 UTC

[jira] Commented: (CODEC-94) unexpected CRLF at end of base64 encoded string

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