赞
踩
-
- import java.io.UnsupportedEncodingException;
- import java.util.Iterator;
- import java.util.Map;
- import java.util.Set;
- import java.util.SortedMap;
-
- public class Base64Util {
-
- private static final char[] legalChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".toCharArray();
- public String getBase64Str(SortedMap<Object, Object> parameters) throws UnsupportedEncodingException {
-
-
- StringBuffer sb = new StringBuffer();
- Set es = parameters.entrySet();
- Iterator it = es.iterator();
- while (it.hasNext())
- {
- Map.Entry entry = (Map.Entry) it.next();
- String k = (String) entry.getKey();
- Object v = entry.getValue();
- if (null != v && !"".equals(v))
- {
- sb.append(k + "=" + v + "&");
- }
- }
- sb.deleteCharAt(sb.lastIndexOf("&"));
- return encode(sb.toString().getBytes("UTF-8")).replaceAll(" ", "");
- }
-
-
- public static String encode(byte[] data)
- {
-
- int start = 0;
- int len = data.length;
- StringBuffer buf = new StringBuffer(data.length * 3 / 2);
-
- int end = len - 3;
- int i = start;
- int n = 0;
-
- while (i <= end)
- {
- int d = ((((int) data[i]) & 0x0ff) << 16) | ((((int) data[i + 1]) & 0x0ff) << 8) | (((int) data[i + 2]) & 0x0ff);
-
- buf.append(legalChars[(d >> 18) & 63]);
- buf.append(legalChars[(d >> 12) & 63]);
- buf.append(legalChars[(d >> 6) & 63]);
- buf.append(legalChars[d & 63]);
-
- i += 3;
-
- if (n++ >= 14)
- {
- n = 0;
- buf.append(" ");
- }
- }
-
- if (i == start + len - 2)
- {
- int d = ((((int) data[i]) & 0x0ff) << 16) | ((((int) data[i + 1]) & 255) << 8);
-
- buf.append(legalChars[(d >> 18) & 63]);
- buf.append(legalChars[(d >> 12) & 63]);
- buf.append(legalChars[(d >> 6) & 63]);
- buf.append("=");
- }
- else if (i == start + len - 1)
- {
- int d = (((int) data[i]) & 0x0ff) << 16;
-
- buf.append(legalChars[(d >> 18) & 63]);
- buf.append(legalChars[(d >> 12) & 63]);
- buf.append("==");
- }
-
- return buf.toString();
- }
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。