百度搜索Java里如何使用Base64,结果很多文章都是让引用第三方Jar包,我靠我想了一下 他妈的Java里连这个都不提供,就直接忽略里那些废物的文章。继续搜索,算是找到答案:
Java8以后 官方都提供Base64了,所以不要再搞第三发Jar包:
import java.io.UnsupportedEncodingException; import java.util.Base64; public class Base64Test { public static void main(String[] args) { //经过测试,即使字符串很长也不会存在换行的问题 String plaiText = "base64 in java"; String base64Text = "YmFzZTY0IGluIGphdmE="; try { //Base64编码;拿到字符串的根据UTF-8编码的字节数,然后按Base64的编码表得到字符串 System.out.println(Base64.getEncoder().encodeToString(plaiText.getBytes("UTF-8"))); //Base64解码,根据Base64的编码表得到字节数,然后根据UTF-8编码把字节数还原成字符串 System.out.println(new String(Base64.getDecoder().decode(base64Text), "UTF-8")); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } } }