Mega Code Archive

 
Categories / Android / Date Type
 

Encode To Base64

//package pl.przemelek.android.util; class Util {   private static String charSet = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";       public static String encodeToBase64(String text) {       int[] encoded = new int[text.length()*8/6+4];     int trueLen = text.length()*8/6+1;     int newLen = 0;     for (int idx=0; idx<text.length(); idx+=3) {       int end = idx+3;       if (end>text.length()) {         end = text.length();       }       String toWork = text.substring(idx,end);       char a = 0;       char b = 0;       char c = 0;       if (toWork.length()>0) { a = toWork.charAt(0); }       if (toWork.length()>1) { b = toWork.charAt(1); }       if (toWork.length()>2) { c = toWork.charAt(2); }       int _a = (a & (63 << 2)) >> 2;             int _b = ((a & 3)  << 4) +((b & (15 <<4)) >> 4);       int _c = ((b & 15) << 2) +((c & (3  <<6)) >> 6);       int _d = (c & 63);       encoded[newLen++] = charSet.charAt(_a);       encoded[newLen++] = charSet.charAt(_b);       encoded[newLen++] = charSet.charAt(_c);       encoded[newLen++] = charSet.charAt(_d);           }     String encodedStr = "";     for (int idx=0; idx<trueLen; idx++) {       if (encoded[idx]!=0) {         encodedStr+=(char)encoded[idx];       }     }     while (encodedStr.length()%4!=0) {       encodedStr+="=";     }     return encodedStr;   } }