Data Encoding Tutorials - Herong's Tutorial Examples - v5.23, by Herong Yang
Sun Implementation of Base64 in Java - Test
This section provides a test program for the Java implementation of the Base64 encoding algorithm by the Sun.
To test Java implementation of the Base64 encoding algorithm listed in the previous section, I wrote this simple testing program:
/* SunBase64Test.java
* Copyright (c) 2007 HerongYang.com. All Rights Reserved.
*/
import java.io.*;
import sunlabs.brazil.util.*;
class SunBase64Test {
public static void main(String[] a) {
if (a.length<1) {
System.out.println("Usage:");
System.out.println("java SunBase64Test 1/2/3");
return;
}
String test = a[0];
String theInput = null;
String theExpected = null;
if (test.equals("1")) {
theInput = "A";
theExpected = "QQ==";
} else if (test.equals("2")) {
theInput = "AB";
theExpected = "QUI=";
} else if (test.equals("3")) {
theInput = "ABC";
theExpected = "QUJD";
} else {
System.out.println("Usage:");
System.out.println("java SunBase64Test 1/2/3");
return;
}
String theEncoded = Base64.encode(theInput.getBytes());
byte[] theDecoded = Base64.decode(theEncoded);
System.out.println("Input : "+theInput);
System.out.println("Encoded : "+theEncoded);
System.out.println("Expected: "+theExpected);
System.out.println("Decoded : "+new String(theDecoded));
return;
}
}
Here is the test result:
herong> javac SunBase64Test.java herong> java SunBase64Test 1 Input : A Encoded : QQ== Expected: QQ== Decoded : A herong> java SunBase64Test 2 Input : AB Encoded : QUI= Expected: QUI= Decoded : AB herong> java SunBase64Test 3 Input : ABC Encoded : QUJD Expected: QUJD Decoded : ABC
The result matches my expectation perfectly.
Table of Contents
RFC 1421 - Privacy Enhancement for Email
RFC 1521 - MIME (Multipurpose Internet Mail Extensions)
W3C Implementation of Base64 in Java
Sun Implementation of Base64 in Java
►Sun Implementation of Base64 in Java - Test
Goetz' Implementation of Base64 in JavaScript
Goetz' Implementation of Base64 in JavaScript - Test
Base64 Encoding and Decoding Tools
Base64URL - URL Safe Base64 Encoding