base64:MGXvX+LVhDJPhrJXnZai6CDvg8Tgs8eIzFe0i5XKhmu5wcavibVjsYm1+3oMoXl3RfS07Vq1gM1hqWhTSb9EDP4wfFRVHDxhCQ3TDNOcJwf2bycoUBIQLjX0NySvocPRWGSNsVJYKNxyHOovrV1WEr1V9fMiO7u3jU6qO2XV1Us=
解碼后應該是 : 丬__
java中用的
Base64.getDecoder().decode()解碼,結果正常
Android是
import android.util.Base64;
如果用
import java.util.Base64;就必須要最低sdk 26才可以,但是我是兼容到了sdk 21....

所以我用的
Base64.decode(string,Base64.DEFAULT))這個方法
但是解碼出來會多很多東西

大佬們,怎么解決呀
我看了下java.util.Base64的那個decode方法,實際上用的是
public byte[] decode(String src) {
return decode(src.getBytes(ISO_8859_1.INSTANCE));
}所以應該是編碼問題?但是Android里面即使getBytes方法寫了編碼為ISO_8859_1,還是那樣.......
uj5u.com熱心網友回復:
Base64類在java和Android sdk中不同,最好copy一份到專案原始碼中使用uj5u.com熱心網友回復:
好的謝謝我試試!uj5u.com熱心網友回復:
我把在java中正常執行的代碼打包成了一個jar包然后引入到Android Studio里面去了,可是結果還是錯的,前面有一大堆其它的東西....
uj5u.com熱心網友回復:
base64應該是通用的,我試過Java轉的base64,用C#還原都沒有問題。Android本身就是Java,更沒問題了。uj5u.com熱心網友回復:
但是現在還原出來就是不一樣
我查了很久,發現base64演算法還是有區別的
有好幾種標準..
uj5u.com熱心網友回復:
android里面的Java.util.Base64需要sdk26以上,可是我要兼容到sdk21,然后Android自帶的Base64就這樣有問題....
uj5u.com熱心網友回復:
5555弄了半天我不會呀
直接copy后他不能用吧好像
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/159806.html
標籤:Android
上一篇:wex5資料庫添加新的action無下拉串列怎么解決
下一篇:求懸浮窗,如何實作。
