|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
package sony.utils; import java.io.*; import java.net.*; public final class Codes { public final static byte[] base64Encode(byte[] byteData) { if (byteData == null) return null; int iSrcIdx; // index into source (byteData) int iDestIdx; // index into destination (byteDest) byte byteDest[] = new byte[((byteData.length + 2) / 3) * 4]; for (iSrcIdx = 0, iDestIdx = 0; iSrcIdx < byteData.length - 2; iSrcIdx += 3) { byteDest[iDestIdx++] = (byte) ((byteData[iSrcIdx] >>> 2) & 077); byteDest[iDestIdx++] = (byte) ((byteData[iSrcIdx + 1] >>> 4) & 017 | (byteData[iSrcIdx] << 4) & 077); byteDest[iDestIdx++] = (byte) ((byteData[iSrcIdx + 2] >>> 6) & 003 | (byteData[iSrcIdx + 1] << 2) & 077); byteDest[iDestIdx++] = (byte) (byteData[iSrcIdx + 2] & 077); } if (iSrcIdx < byteData.length) { byteDest[iDestIdx++] = (byte) ((byteData[iSrcIdx] >>> 2) & 077); if (iSrcIdx < byteData.length - 1) { byteDest[iDestIdx++] = (byte) ((byteData[iSrcIdx + 1] >>> 4) & 017 | (byteData[iSrcIdx] << 4) & 077); byteDest[iDestIdx++] = (byte) ((byteData[iSrcIdx + 1] << 2) & 077); } else byteDest[iDestIdx++] = (byte) ((byteData[iSrcIdx] << 4) & 077); } for (iSrcIdx = 0; iSrcIdx < iDestIdx; iSrcIdx++) { if (byteDest[iSrcIdx] < 26) byteDest[iSrcIdx] = (byte) (byteDest[iSrcIdx] + \\\'A\\\'); else if (byteDest[iSrcIdx] < 52) byteDest[iSrcIdx] = (byte) (byteDest[iSrcIdx] + \\\'a\\\' - 26); else if (byteDest[iSrcIdx] < 62) byteDest[iSrcIdx] = (byte) (byteDest[iSrcIdx] + \\\'0\\\' - 52); else if (byteDest[iSrcIdx] < 63) byteDest[iSrcIdx] = (byte) \\\'+\\\'; else byteDest[iSrcIdx] = (byte) \\\'/\\\'; } for (; iSrcIdx < byteDest.length; iSrcIdx++) byteDest[iSrcIdx] = (byte) \\\'=\\\'; return byteDest; } public final static String base64Encode(String strInput) { if (strInput == null) return null; return base64Encode(strInput,"GB2312"); } public final static String base64Encode(String strInput,String charSet) { if (strInput == null) return null; String strOutput=null; byte byteData[] = new byte[strInput.length()]; try { //strInput.getBytes(0, strInput.length(), byteData, 0); byteData = strInput.getBytes(charSet); strOutput=new String(base64Encode(byteData),charSet); //strOutput=new String(base64Encode(byteData),0); } catch (UnsupportedEncodingException e) { return null; } return strOutput; } /** * 此处插入方式说明。 * 创建日期:(2000-11-4 18:27:35) * @param steam java.io.InputStream * @param charSet java.lang.String */ public final static String base64Encode(InputStream in, String charSet) { try { int c; byte[] buff = new byte[1024]; ByteArrayOutputStream out = new ByteArrayOutputStream(2048); while ((c = in.read(buff, 0, 1024)) != -1) { out.write(buff, 0, c); //index+=1024; //out.write(c); //attachContent+=ss; } in.close(); out.flush(); byte[] tmp2 = Codes.base64Encode(out.toByteArray()); out.close(); return new String(tmp2,charSet); } catch (IOException e) { return ""; } }/** * 此处插入方式说明。 * 创建日期:(2000-11-3 23:31:04) * @return java.lang.String * @param strIn java.lang.String */ public final static String chunkSplit(String strIn) { return chunkSplit(strIn,76); }/** * 此处插入方式说明。 * 创建日期:(2000-11-3 23:31:04) * @return java.lang.String * @param strIn java.lang.String */ public final static String chunkSplit(String strIn,int splitLen) { int index=0; String strOut=""; while(index+splitLen<strIn.length()){ strOut+=strIn.substring(index,index+splitLen)+"/n"; index+=splitLen; } if(index<strIn.length()){ strOut+=strIn.substring(index); } return strOut; } } 返回类别: 教程 上一教程: Java 学习方式浅谈 下一教程: Java Reflection (JAVA反射) 您可以阅读与"一个进行Base64编码的类。"相关的教程: · 一个过滤html输入字符的类 · 关于java中字符编码的一点心得,可能对初学者有点帮助 · JAVASCRIPT ESCAPE/UNESCAPE编码的JAVA实现 · JavaScript escape/unescape编码的Java实现 · 对Reader进行token的类,可以访入多个split进行解析 |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |