我目前正在做一个需要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已经存在了吗?
是否有不同的性能智慧?
发布于 2018-08-21 06:35:22
整个javax.xml.bind模块是已弃用(即使删除)上Java9
https://docs.oracle.com/javase/9/docs/api/java.xml.bind-summary.html
如果您的项目正在使用Java8以后的版本,那么请停止使用该包,而改用Java8的Base64类,这样以后的Java升级就不会影响它们了。
另一方面,如果您必须保持与Java7或更早版本的兼容性,则不能使用Base64 (因为它是在Java8上引入的)。为此,您应该继续使用DatatypeConverter,或者更好的是,使用另一个独立库在base64中进行编码/解码(例如
64](https://commons.apache.org/proper/commons-codec/apidocs/org/apache/commons/codec/binary/Base64.html))
https://stackoverflow.com/questions/38563609
复制相似问题