数据类型转换器vs Base64

abhi314:

经过研究,我目前正在一个需要64位解码的项目中,我在Java本身中发现了这两种方法,

JAVA 8

import java.util.Base64;

byte[] decodedBytes = Base64.getDecoder().decode(encodedUserPassword);

来自JAVA 6

import javax.xml.bind.DatatypeConverter;

byte[] decodedBytes = DatatypeConverter.parseBase64Binary(encodedUserPassword);

我想知道的是,为什么需要Base64如果DatatypeConverter已经存在?有其他不同的表现方式吗?

丹尼尔·库德拉:

Java9 https://docs.oracle.com/javase/9​​/docs/api/java.xml.bind-summary.html,整个javax.xml.bind模块已被弃用(甚至删除)。

如果您的项目使用的是Java8以后的版本,请停止使用该程序包,而改用Java8的Base64类,这样以后的Java升级将不会对其产生影响。

另一方面,如果必须保持与Java7或更早版本的兼容性,则不能使用Base64(因为它是Java8上引入的)。为此,您应该继续使用DatatypeConverter,或者更好的是,使用另一个独立的库在base 64中进行编码/解码(例如Apache Commons 64)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章