Java | Base64 Encoding/Decoding with javax.xml.bind.DatatypeConverter

|
| By Webner

Base64 Encoding/Decoding with javax.xml.bind.DatatypeConverter in java 6 and 7.

Solution: javax.xml.bind.Datatypeconverter class is the built in class inside JRE. We don’t need any third party library as we need in case of Cipher encoding/decoding method. javax.xml.bind.DatatypeConverter.printBase64Binary(byte[]) encodes a byte[] array into a Base64 encoded string.

1. Encode text with base64 using javax.xml.bind.Datatypeconverter:

import java.io.UnsupportedEncodingException;
import javax.xml.bind.DatatypeConverter;
public class EncodeText {
public static void main(String[] args) {
   String textToEncode = "Encoding with DatatypeConverter";
   byte[] message = null;
   try {
       message = textToEncode.getBytes("UTF-8");
       } catch (UnsupportedEncodingException e) {
         e.printStackTrace();
       }
   String encodedText = DatatypeConverter.printBase64Binary(message);
   System.out.println(encodedText);
    }
}

Output: RW5jb2Rpbmcgd2l0aCBEYXRhdHlwZUNvbnZlcnRlcg==

2.  Decode text with base64 using javax.xml.bind.Datatypeconverter:

import java.io.UnsupportedEncodingException;
import javax.xml.bind.DatatypeConverter;
public class DecodeText {
public static void main(String[] args) {
        String encodedString = “RW5jb2Rpbmcgd2l0aCBEYXRhdHlwZUNvbnZlcnRlcg == ";
        String decodedText = null;
        byte[] decodedTextBytes = null;
        decodedTextBytes = DatatypeConverter.parseBase64Binary(encodedString);
        try {
            decodedText = new String(decodedTextBytes, "UTF-8");
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
        System.out.println(decodedText);
    }
}

Output: Encoding with DatatypeConverter

Leave a Reply

Your email address will not be published. Required fields are marked *