java.util.Base64与android.util.Base64兼容

在默认情况下,他们互相不兼容

但是可以使他们统一规格

假设:

import java.util.Base64; 

public class ServerCrypt extends EasyCrypt{ 
    @Override 
    public byte[] decode(String str){ 
     return Base64.getDecoder().decode(str); //Throws IllegalArgumentException 
    } 

    @Override 
    public String encode(byte[] bytes){ 
     return Base64.getEncoder().encodeToString(bytes); 
    } 

那么安卓版

import android.util.Base64; 

public class ClientCrypt extends EasyCrypt { 
    @Override 
    protected byte[] decode(String s) { 
     return Base64.decode(s.getBytes(), Base64.NO_WRAP); //Works perfectly 
    } 

    @Override 
    protected String encode(byte[] bytes) { 
     return Base64.encodeToString(bytes, Base64.NO_WRAP); //默认0为Base64.DEFAULT
    } 

那么如果你一定要使用Base64.DEFAULT怎么办呢?

那就让java版去兼容安卓版

将Base64.getDecoder()

改成

Base64.getMimeDecoder()

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注