Base 64 encode 2 : Base64 « Date Type « Android

Home
Android
1.2D Graphics
2.Animation
3.Core Class
4.Database
5.Date Type
6.Development
7.File
8.Game
9.Hardware
10.Media
11.Network
12.Security
13.UI
14.User Event
Android » Date Type » Base64 
Base 64 encode 2
   
//package com.softright;

import java.io.File;
import java.io.FileOutputStream;
import java.util.ArrayList;
import java.util.List;

public class Base64 {

  private static final String BASE_64_CHARS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
  private static final char CHAR_PAD='=';
  public static String encode(byte[] src) {
    if(src==null)
      return null;
    StringBuffer strRet = new StringBuffer();
    int i = 0;
    int j = 0;
    byte[] char_array_3 = new byte[3];
    byte[] char_array_4 = new byte[4];
    
    for (int k=0;k<src.length;k++) {
      char_array_3[i++= src[k];
      if (i == 3) {
        char_array_4[0new Integer((char_array_3[00xfc>> 2)
            .byteValue();
        char_array_4[1new Integer(((char_array_3[00x03<< 4)
            ((char_array_3[10xf0>> 4)).byteValue();
        char_array_4[2new Integer(((char_array_3[10x0f<< 2)
            ((char_array_3[20xc0>> 6)).byteValue();
        char_array_4[3new Integer(char_array_3[20x3f)
            .byteValue();
        for (i = 0(i < 4); i++)
          strRet.append(BASE_64_CHARS.charAt(char_array_4[i]));
        i = 0;
      }
    }
    if (i > 0) {
      for (j = i; j < 3; j++)
        char_array_3[j'\0';
      char_array_4[0new Integer((char_array_3[00xfc>> 2)
          .byteValue();
      char_array_4[1new Integer(((char_array_3[00x03<< 4)
          ((char_array_3[10xf0>> 4)).byteValue();
      char_array_4[2new Integer(((char_array_3[10x0f<< 2)
          ((char_array_3[20xc0>> 6)).byteValue();
      char_array_4[3new Integer(char_array_3[20x3f).byteValue();
      for (j = 0(j < i + 1); j++) {
        strRet.append(BASE_64_CHARS.charAt(char_array_4[j]));
      }
      while ((i++ < 3)) {
        strRet.append(CHAR_PAD);
      }
    }
    try {
      return strRet.toString();
    catch (Exception e) {
      return null;
    }

  }

  @SuppressWarnings("unchecked")
  public static byte[] decode(String src) {
    String strEncoded = null;
    try {
      strEncoded = src;//java.net.URLDecoder.decode(src, "iso-8859-1");
      if(strEncoded==nullreturn null;
    catch (Exception e) {
      return null;
    }
    int in_len = strEncoded.length();
    int i = 0;
    int j = 0;
    int in_ = 0;
    List ret = new ArrayList();
    byte[] char_array_3 = new byte[3];
    byte[] char_array_4 = new byte[4];
    while ((in_len-- > 0&& (strEncoded.charAt(in_!= CHAR_PAD)) {
      char_array_4[i++(bytestrEncoded.charAt(in_);
      in_++;
      if (i == 4) {
        for (i = 0; i < 4; i++)
          char_array_4[inew Integer(BASE_64_CHARS
              .indexOf(char_array_4[i])).byteValue();
        char_array_3[0new Integer((char_array_4[0<< 2)
            ((char_array_4[10x30>> 4)).byteValue();
        char_array_3[1new Integer(((char_array_4[10xf<< 4)
            ((char_array_4[20x3c>> 2)).byteValue();
        char_array_3[2new Integer(((char_array_4[20x3<< 6)
            + char_array_4[3]).byteValue();
        for (i = 0(i < 3); i++)
          ret.add(new Byte(char_array_3[i]));
        i = 0;
      }
    }
    if (i > 0) {
      for (j = i; j < 4; j++)
        char_array_4[j0;
      for (j = 0; j < 4; j++)
        char_array_4[jnew Integer(BASE_64_CHARS
            .indexOf(char_array_4[j])).byteValue();
      char_array_3[0new Integer((char_array_4[0<< 2)
          ((char_array_4[10x30>> 4)).byteValue();
      char_array_3[1new Integer(((char_array_4[10xf<< 4)
          ((char_array_4[20x3c>> 2)).byteValue();
      char_array_3[2new Integer(((char_array_4[20x3<< 6)
          + char_array_4[3]).byteValue();
      for (j = 0(j < i - 1); j++)
        ret.add(new Byte(char_array_3[j]));
    }
    byte[] rlt = new byte[ret.size()];
    //int k = 0;
    for (int k=0;k<ret.size();k++) {
      rlt[k((Byte)ret.get(k)).byteValue();
    }
    return rlt;

  }
  public static void main(String[] args)
  throws Exception
  {
    
    File file=new File("c:\\test.dat");
    file.createNewFile();
    FileOutputStream out=new FileOutputStream(file);
    out.write((decode("EgAHAAAAAAAAAAAAAACqDwAABgIEAFAATgBHADMAywWJUE5HDQoaCgAAAA1JSERSAAAAMAAAADAIAgAAANhgbtAAAAAEZ0FNQQAAsY8L/GEFAAAFgklEQVRYR+2W308cVRTH75OvRpuCBjT2gcS/wUjigz8fmjZ9sTUajTQmajU+tNkaG3XTRItFH5RK1AoGjSKGWuKPLtFCslW0GCiV0vKbhZn9we6yu/zoVigwfs+cmbPDIC0zgPrAzQlh79x77uee8z1nRqmtsRWBrQj8/yLwTWNjzh7xWGxkZLirs7O9/de2ttaW0Jnm5tNYAAscOvgvseOwgbK7xOa7FWz2tJqsvsM5v/FAzoOvtRXOQyScBxtXCYiZnPOf1dU5oV3EfoJ3/vzv4hGngol/9l665AISptWAeIGT2A8QdOIEglP+6ZzHT8yvBYjXiEM/QM6U8ansbo2iXrl9A4Cyn9yWPFYCy9WThsaeKoHhpMxH21JVpYnX74RNN6hs7S14Sgv23T266x7Y8EM7IGrXdvaAp333lvmJ0Jkff5j5VrFTpB9M0ReK4RHzU18qYQKQMGn7C0wAcm2XK4HJD9C5cHiuXbFTKBpM8UARmDAPIGGa/Y6AmCl6oFiYjldWurbLlXArP0AXu7vhkZ0CCIZQgQnzV78nIGYiVpsJQMKEsndtlyv5BEI1LUYICAY9MhBsLBLBjDDN/0GPmCl+sEiYAOTaLldCmP1ECECoLHa6pBET6wnzC1dokpkW+pUwQePCBCDXdgbS2z5EmP0DsVP8BRPriYGECUDCxHXHTAzk3J4Yro92nATQzsce9QPEe9CvGQgmQMYEATHTUpyAmEl6AZhw6rbtRbw9Fg0lYk0T4wTU8FWDfxreybljQzHjGLQiYaLg2UzSC5iGTdN1Cyhef/Zs6/sfVK8XCEcyE0Qgx7S0hJiJQZmJ667imad52ZW+/s6uC1E9rOlRRCjeV3/y01oAHXvn+BtvBg8FDr/40svPVux/fN8TO3ftfvDhR+67v3xVVgnJzCk6b+oLNdNEQM55pAMmM2ACEIcQk5Gx8fGxPi3SqQ2E9cuhaC8BpRI16Ymq9EBwsj+Q/O2AB6DC2albEQnYUkwtDKj5TjXXQVi5Oitag4ODwoRmCBqgsBHQeFdUC8e0UFxrSozWTwzWJPsJKBEOeIsQd0Iju8fIlCMv+Z9U7nOVerc0frgYdr2nkD5JKMpKcop/CGh8SNN69Eg4OhDSe5q0jkattVZrOZEeDKYuegSiTE1XEFB2jxPIquQh9dcvCms4ocxk3YG/Ri7Qo7HRPk3r/Qeg/mA25QXISsHsK8IkEZr+2iJYNJkyH98O6SyOki1cJgh0S94OpskTxbhPVOuK6ecSenMhQiPBbCwwlV6bhkQQRv6IYTMJEMLATHh1G0lFNl9NNvM8DF0RIsv/TAuwjIDMMDtTltarWI4MDbvJgFqt4APIZHKmjB8RTabcSJUREEteU9f/VMm3ShAnFr6Fbl6J7yMR4hLBApy1pmEBzVUSUP7ISiAju5uAEJjMA4aUoUZAnDswgY/KYvl2FAREDSA+wsNAJMmdzSQpg0qgGyP3JDHl9pI5mNLvlYqewEQvsiFqnq4ixR1unikXrCRYmKQ=")));
    out.close();
  }
}

   
    
    
  
Related examples in the same category
1.Base64 encoding
2.Class Base64 can be used for base64-encoding a byte array and/or for base64-decoding a base64-string.
3.A Base64 Encoder/Decoder.
4.Utilities for encoding and decoding the Base64 representation of binary data.
5.An InputStream that does Base64 decoding on the data read through it.
6.A very fast and memory efficient class to encode and decode to and from BASE64 in full accordance with RFC 2045.
7.Encode To Base64
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.