Date Type Android

//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      char_array_3[i++] = src[k];
      if (i == 3) {
        char_array_4[0] = new Integer((char_array_3[0] & 0xfc) >> 2)
            .byteValue();
        char_array_4[1] = new Integer(((char_array_3[0] & 0x03) << 4)
            + ((char_array_3[1] & 0xf0) >> 4)).byteValue();
        char_array_4[2] = new Integer(((char_array_3[1] & 0x0f) << 2)
            + ((char_array_3[2] & 0xc0) >> 6)).byteValue();
        char_array_4[3] = new Integer(char_array_3[2] & 0x3f)
            .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[0] = new Integer((char_array_3[0] & 0xfc) >> 2)
          .byteValue();
      char_array_4[1] = new Integer(((char_array_3[0] & 0x03) << 4)
          + ((char_array_3[1] & 0xf0) >> 4)).byteValue();
      char_array_4[2] = new Integer(((char_array_3[1] & 0x0f) << 2)
          + ((char_array_3[2] & 0xc0) >> 6)).byteValue();
      char_array_4[3] = new Integer(char_array_3[2] & 0x3f).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==null) return 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++] = (byte) strEncoded.charAt(in_);
      in_++;
      if (i == 4) {
        for (i = 0; i < 4; i++)
          char_array_4[i] = new Integer(BASE_64_CHARS
              .indexOf(char_array_4[i])).byteValue();
        char_array_3[0] = new Integer((char_array_4[0] << 2)
            + ((char_array_4[1] & 0x30) >> 4)).byteValue();
        char_array_3[1] = new Integer(((char_array_4[1] & 0xf) << 4)
            + ((char_array_4[2] & 0x3c) >> 2)).byteValue();
        char_array_3[2] = new Integer(((char_array_4[2] & 0x3) << 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[j] = 0;
      for (j = 0; j < 4; j++)
        char_array_4[j] = new Integer(BASE_64_CHARS
            .indexOf(char_array_4[j])).byteValue();
      char_array_3[0] = new Integer((char_array_4[0] << 2)
          + ((char_array_4[1] & 0x30) >> 4)).byteValue();
      char_array_3[1] = new Integer(((char_array_4[1] & 0xf) << 4)
          + ((char_array_4[2] & 0x3c) >> 2)).byteValue();
      char_array_3[2] = new Integer(((char_array_4[2] & 0x3) << 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      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();
  }
}