2011-09-23 181 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(以及其他幾個對話例程)。