Apache通用编解码器-为什么Hex.encode不返回字节[]

问题描述 投票:0回答:1

[Base64有许多静态编码方法,将byte []返回为

Base64.encodeBase64(stringToEncode.getBytes(StandardCharsets.UTF_8.name()));

MessageDigest使用静态getInstance进行编码/消化

但是Hex没有,它只有实例方法encode需要创建一个实例

new Hex().encode(stringToEncode.getBytes(StandardCharsets.UTF_8.name()));

我是否需要创建实例以获得字节数组的原因,或者有更好的方法吗?

例如,我目前不认为添加getBytes()是一个好主意

Hex.encodeHexString(stringToEncode).getBytes()
java hex apache-commons-codec
1个回答
0
投票

该类是线程安全的,并且实例的唯一原因似乎是Charset参数。也没有void方法,因此对象内部也没有状态。

没有明显的原因,为什么它不仅是静态实用程序方法,而且这就是它们采用的方法。我建议您在使用该类的类中创建一个实例,因此不要在任何地方都执行new Hex().foo()

© www.soinside.com 2019 - 2024. All rights reserved.