кодировать и декодировать строку base64 в десятичную строку coddec - PullRequest
2 голосов
/ 23 сентября 2011

У меня есть строка base64, как эта = "pCZXOVjpnlePyDk6znZrSw ==" Мне нужен кодировщик / декодер, чтобы преобразовать его в десятичную строку, как это = "84587163248712923874"
Есть какой-нибудь кодек, который это делает?

Ответы [ 2 ]

2 голосов
/ 23 сентября 2011

Кодирование / декодирование Base64 теперь является частью библиотек по умолчанию (наконец). Посмотрите на класс javax.xml.bind.DatatypeConverter . Там вы найдете два метода printBase64Binary и parseBase64Binary (вместе с несколькими другими процедурами преобразования).

2 голосов
/ 23 сентября 2011

Вам, вероятно, нужен двухэтапный процесс:

  1. Преобразование строки Base64 в байтовый массив.
  2. Преобразование байтового массива в число.

16 байт слишком велик для Java, поэтому я предполагаю, что вам понадобится BigInteger. Существует конструктор BigInteger, который принимает байтовый массив в качестве параметра, хотя вам нужно быть осторожным со знаковым битом. Метод toString() для BigInteger даст вам желаемую строку.

...