image.png
package xiecheng;
import java.io.*;
import java.util.*;
import java.text.*;
import java.math.*;
import java.util.regex.*;
public class Base64 {
public static String CODES = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/";
/*
* 請(qǐng)完成下面這個(gè)函數(shù),實(shí)現(xiàn)題目要求的功能 當(dāng)然桑包,你也可以不按照下面這個(gè)模板來(lái)作答南蓬,完全按照自己的想法來(lái) ^-^
* *****************************開(kāi)始寫(xiě)代碼*****************************
*/
static String encode(byte[] in) {
StringBuilder out = new StringBuilder((in.length * 4) / 3);
int b;
for (int i = 0; i < in.length; i += 3) {
b = (in[i] & 0xFC) >> 2;
out.append(CODES.charAt(b));
b = (in[i] & 0x03) << 4;
if (i + 1 < in.length) {
b |= (in[i + 1] & 0xF0) >> 4;
out.append(CODES.charAt(b));
b = (in[i + 1] & 0x0F) << 2;
if (i + 2 < in.length) {
b |= (in[i + 2] & 0xC0) >> 6;
out.append(CODES.charAt(b));
b = in[i + 2] & 0x3F;
out.append(CODES.charAt(b));
} else {
out.append(CODES.charAt(b));
out.append('=');
}
} else {
out.append(CODES.charAt(b));
out.append("==");
}
}
return out.toString();
}
/****************************** 結(jié)束寫(xiě)代碼 ******************************/
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String res;
String _source;
try {
_source = in.nextLine();
} catch (Exception e) {
_source = null;
}
res = encode(_source.getBytes());
System.out.println(res);
}
}
提交結(jié)果:AC
參考:
http://www.cnblogs.com/wangshuo1/p/5797864.html