import android.util.Base64;
String encode2 = new String(Base64.encode("123456".getBytes(), Base64.DEFAULT)); // 結果爲"MTIzNDU2\n"
// encodeToString內部其實也是調用encode方法,若想直接返回String,推薦用該方法
String encode1 = Base64.encodeToString("123456".getBytes(), Base64.DEFAULT); // 結果爲"MTIzNDU2\n"
複製代碼
這裏要注意以上方法最終返回的結果都有換行符\n
,若是不要換行能夠用trim()
作如下處理java
import android.util.Base64;
String encode2 = new String(Base64.encode("123456".getBytes(), Base64.DEFAULT)).trim(); // 結果爲"MTIzNDU2"
String encode1 = Base64.encodeToString("123456".getBytes(), Base64.DEFAULT).trim(); // 結果爲"MTIzNDU2"
複製代碼
import android.util.Base64;
String decode1 = new String(Base64.decode("MTIzNDU2".getBytes(), Base64.DEFAULT)); // 結果爲"123456"
// 該方式內部其實也是調用上面那個方法,省去了getBytes(),推薦用此方法
String decode2 = new String(Base64.decode("MTIzNDU2", Base64.DEFAULT)); // 結果爲"123456"
複製代碼
參考Java8 Base64
以上例子用的是Android自帶的android.util.Base64
類
其實Java也有個java.util.Base64
,可是這個類需在Android API 26及以上才能夠使用android
String encode1 = new String(Base64.getEncoder().encode("123456".getBytes())); // 結果爲"MTIzNDU2"
String encode2 = Base64.getEncoder().encodeToString("123456".getBytes()); // 結果爲"MTIzNDU2"
String decode1 = new String(Base64.getDecoder().decode("MTIzNDU2".getBytes())); // 結果爲"123456"
String decode2 = new String(Base64.getDecoder().decode("MTIzNDU2")); // 結果爲"123456"
複製代碼
能夠看到編碼的結果不像Android自帶的末尾還有換行符\n
bash
關於Java的Base64還有如下方法微信
這裏再也不展開,之後另開一篇文章介紹
若是你喜歡個人文章,能夠關注個人微信公衆號,能夠看到我最新發布的文章
編碼