在 Java 中,我们找到两个类Base64并BASE64Encoder通过以下方式对字节执行 base64 编码
Base64.getEncoder.encodeToString(someByteArray);
和分别:
new BASE64Encoder().encode(someByteArray);
我正在尝试对图像文件进行 base64 编码,它将返回一个相对较大的字符串(6k-7k 字符长 base64)
是否有任何约定高于另一个使用一个,任何性能差异或其他原因使用一个在另一个之上?
使用Base64.getEncoder(). 该sun包(其中sun.misc.BASE64Encoder居住)不受支持,不提倡这样用。
sun.* 包不是受支持的公共接口的一部分。
直接调用 sun.* 包的 Java 程序不能保证在所有与 Java 兼容的平台上都能运行。事实上,即使在同一平台上的未来版本中,这样的程序也不能保证工作。
Eclipse 可能已经向您显示了一个Access restriction错误,并且这些包中的大多数类将无法从 Java 9 上访问。
在性能方面,使用新的 implementation 似乎也是可取的,尽管我自己没有做过任何测试:
从表中可以看出一切:sun.misc 类的惊人性能,Commons Codec 类的可接受性能以及 iharder.net 和 MiG Base64 实现的非常好的性能。新的 Java 8 编码器/解码器的运行速度比任何其他实现都快(但您需要 Java 8...)。javax.xml 类原来是一个隐藏的宝石!
| 归档时间: |
|
| 查看次数: |
2135 次 |
| 最近记录: |