java – android.util.Base64编码/解码标志参数

根据 Javadoc,android.util.Base64.decode()有两个参数:text和“flags”.这些标志是int形式的(我引用):

flags控制解码输出的某些功能.传递DEFAULT以解码标准Base64.

首先,感谢任何人决定写一个模糊的Javadoc.我看到Base64有一些枚举字符串,实际上,我们一直使用Base64.NO_WRAP作为我们的标志.但是,在这个特定的实例中,我们需要使用两个标志:NO_WRAP和URL_SAFE.

我们如何指定两个标志?我们尝试用管道(‘|’)分隔它们,但没有这样做.

import android.util.Base64;
public class Foo {
    public static void main(String[] args) {
        String urlSafeBase64EncodedString = getUrlSafeBase64EncodedString();
        int flags = ????????; //Need both Base64.NO_WRAP and Base64.URL_SAFE
        String decodedString = Base64.decode(urlSafeBase64EncodedString,flags);
    }
}

谢谢你的时间.

解决方法

传递给函数的int标志通常被定义为按位OR运算以实现组合效果.

你通常可以通过查看常数值来判断它们是0 1 2 4 8 16 ..

至于你的问题,你可以使用以下标志定义:

int flags = Base64.NO_WRAP | Base64.URL_SAFE;

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...