2011-09-23 86 views
2

我有这样一个base64字符串=“pCZXOVjpnlePyDk6znZrSw ==”我需要一个编码器/解码器将其转换为这样的十进制字符串=“84587163248712923874”
是否有任何编解码器做它?编码和解码的base64字符串十进制字符串coddec

+0

语言,平台,上下文?目前还不清楚这些数字是什么意思......请提供更多信息。 –

+0

将base64编码/解码为只包含数字的字符串。 java – SjB

+0

那个base 64字符串解码到16个字节A426573958E99E578FC8393ACE766B4B它们与数字有什么关系? –

回答

1

你可能需要一个两个阶段的过程:

  1. 转换的Base64编码字符串的字节数组。
  2. 将字节数组转换为数字。

对于Java而言,16个字节太大,所以我认为您需要一个BigInteger。有一个BigInteger构造函数将一个字节数组作为参数,但您需要小心符号位。 BigIntegertoString()方法将为您提供所需的字符串。

2

Base64编码/解码是现在(最终)默认库的一部分。看看类javax.xml.bind.DatatypeConverter。在那里你会发现两种方法printBase64BinaryparseBase64Binary(以及其他几个对话例程)。