首页>代码>java servlet调用百度AI开放平台动物识别API和百度百科API实现动物识别的实例>/Crawler/src/main/java/com/zooseefun/util/Base64Util.java
package com.zooseefun.util; /** * Base64 工具类 */ public class Base64Util { private static final char last2byte = (char) Integer.parseInt("00000011", 2); private static final char last4byte = (char) Integer.parseInt("00001111", 2); private static final char last6byte = (char) Integer.parseInt("00111111", 2); private static final char lead6byte = (char) Integer.parseInt("11111100", 2); private static final char lead4byte = (char) Integer.parseInt("11110000", 2); private static final char lead2byte = (char) Integer.parseInt("11000000", 2); private static final char[] encodeTable = new char[]{'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '+', '/'}; public Base64Util() { } public static String encode(byte[] from) { StringBuilder to = new StringBuilder((int) ((double) from.length * 1.34D) + 3); int num = 0; char currentByte = 0; int i; for (i = 0; i < from.length; ++i) { for (num %= 8; num < 8; num += 6) { switch (num) { case 0: currentByte = (char) (from[i] & lead6byte); currentByte = (char) (currentByte >>> 2); case 1: case 3: case 5: default: break; case 2: currentByte = (char) (from[i] & last6byte); break; case 4: currentByte = (char) (from[i] & last4byte); currentByte = (char) (currentByte << 2); if (i + 1 < from.length) { currentByte = (char) (currentByte | (from[i + 1] & lead2byte) >>> 6); } break; case 6: currentByte = (char) (from[i] & last2byte); currentByte = (char) (currentByte << 4); if (i + 1 < from.length) { currentByte = (char) (currentByte | (from[i + 1] & lead4byte) >>> 4); } } to.append(encodeTable[currentByte]); } } if (to.length() % 4 != 0) { for (i = 4 - to.length() % 4; i > 0; --i) { to.append("="); } } return to.toString(); } }
最近下载更多
NoirMeow LV1
5月21日
扫把多啦攻core LV1
2022年6月5日
ruishent LV6
2022年3月8日
helenli522 LV1
2021年5月3日
13261713015 LV4
2021年1月4日
guodaxia LV14
2020年8月31日
磊哥哥哥哥 LV13
2020年5月28日
linghongjun5002 LV10
2020年4月24日
wei112233 LV15
2020年4月21日
zq980707 LV6
2020年4月3日
最近浏览更多
啦啦啦7719 LV15
10月15日
yuanmaxiazai LV2
6月19日
EIFFELZY
6月4日
暂无贡献等级
a1677596408 LV23
4月26日
诺一啊啊啊啊啊 LV3
4月7日
3334004690 LV10
3月20日
1134116035
2月25日
暂无贡献等级
tr1314qq LV17
2月5日
暂无贡献等级
2017143155 LV12
2023年6月27日