我有一个base64字符串,像这样=" pCZXOVjpnlePyDk6znZrSw=="我需要一个编码器/解码器将其转换为十进制字符串,像这样=" 84587163248712923874"
有没有编解码器能做到这一点?
您可能需要两个阶段的过程:
- 将Base64字符串转换为字节数组。
- 将字节数组转换为数字。
16字节对于Java长度来说太大了,所以我假设您需要一个BigInteger
。有一个BigInteger
构造函数接受一个字节数组作为参数,不过您需要小心符号位。BigInteger
的toString()
方法将给出您想要的字符串
Base64 encode/decode现在(最终)是默认库的一部分。看看类javax.xml.bind.DatatypeConverter。在这里,您将发现两个方法printBase64Binary和parseBase64Binary(以及其他一些转换例程)。