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

[jira] Issue Comment Edited: (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=12850467#action_12850467 ] 

Gary Gregory edited comment on CODEC-94 at 3/27/10 3:49 AM:
------------------------------------------------------------

I added to the class Base64Test new test methods called testRfc4648* based on RFC 4648 that show our inconsistent handling of CR LF at the end of data. Failing assertions are //commented out.

I'll have to rethink some of these tests since CR LF after = is fine but not OK in the "middle" of data since CR LF is not in the alphabet. 

We should define and document what the behavior is for non-alphabet chars.

      was (Author: ggregory@seagullsw.com):
    I added to the class Base64Test new test methods called testRfc4648* based on RFC 4648 that show our inconsistent handling of CR LF at the end of data. Failing assertions are //commented out.
  
> 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.