Apache BaseNCodec如何编码字符串

时间:2016-03-07 08:25:42

标签: java apache encoding

我需要使用BaseN编码在我的Java程序中编码一些字符串(类似于Base64,但我们希望使用不同的基础来编码不同的字符串),我发现Apache的库BaseNCodec可以实现。我发现并将其包含在我的项目中,但我无法使其工作。

https://commons.apache.org/proper/commons-codec/apidocs/org/apache/commons/codec/binary/BaseNCodec.html

它说这是抽象类,但我无法扩展它,我总是会遇到类似NetBeans中“无法访问的继承抽象方法”的错误。有没有这方面的例子,如何以正确的方式使用这个库?

1 个答案:

答案 0 :(得分:0)

据我所知BaseNCodec类(https://commons.apache.org/proper/commons-codec/apidocs/src-html/org/apache/commons/codec/binary/BaseNCodec.html)不是final,这意味着它可以被继承。在您尝试继承的步骤中可能存在一些错误,您是否有指向源代码的指针?

最坏的情况是,由于源文件是开源的,因此可以将其迁移到自己的代码库中。

要派生非“常规”编解码器,您可以看一下Apache共有的两种实现:Base64(https://commons.apache.org/proper/commons-codec/apidocs/src-html/org/apache/commons/codec/binary/Base64.html)和Base32(https://commons.apache.org/proper/commons-codec/apidocs/src-html/org/apache/commons/codec/binary/Base32.html)。不幸的是,这似乎不只是定义自定义编码(ENCODE_TABLE)和解码表(DECODE_TABLE)那样简单。有足够合理的逻辑,例如如何处理字典字母以及位流末尾的小数位。