Android Base64

2019-06-21  本文已影响0人  ios_wong

使用Base64加密时,系统提供的API有两种:Java.util.base64和android.util.base64
java.util.base64提供的方法只支持versionCode >= 26 无法完全适用所有版本:
kotlin写法:

var encodedBackUrl = "https://www.baidu.com"
 if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
        encodedBackUrl = java.util.Base64.getEncoder().encodeToString(encodedBackUrl.toByteArray(Charsets.UTF_8))
}

android.util.base64 适用所有版本:

encodedBackUrl = Base64.encodeToString(encodedBackUrl.toByteArray(Charsets.UTF_8),Base64.NO_WRAP)

注意上面的flag并没有用Base64.DEFAULT,默认情况下字符串过长(一般超过76)时会自动在中间加一个换行符'\n'
为了避免编码后的string出现换行符,选用Base64.NO_WRAP

上一篇 下一篇

猜你喜欢

热点阅读