Apache 的 Base64.encodeBase64 和 Android 的 Base64.encode 与 Base64.Default 标志之间有什么区别吗?

2022-01-21 00:00:00 base64 android java apache-commons

示例 A(使用 org.apache.commons.codec.binary.Base64):

Sample A (using org.apache.commons.codec.binary.Base64):

Base64.encodeBase64("foobar".getBytes()); 

示例 B(使用 android.util.Base64):

Sample B (using android.util.Base64):

Base64.encode("foobar".getBytes(), Base64.DEFAULT); 

这些是否产生相同的字符串?

Do these produce the same string?

推荐答案

不,不同的是,在默认设置下,Android 的 Base64 包含行终止符.要获得与 Apache 编码相同的结果,请使用 Base64.NO_WRAP.

No, the difference is that with the default settings, Android's Base64 includes line terminators. To obtain the same result as with the Apache encoding, use Base64.NO_WRAP.

相关文章