Преобразовать строку base25 в двоичную строку в Java - PullRequest
0 голосов
/ 09 июля 2009

Итак, у меня есть набор базовых цифр, таких как "BCDFGHJKLMNPQRSTVWXZ34679"

как преобразовать значение, скажем "D6CN96W6WT", в двоичную строку в Java?

Ответы [ 2 ]

6 голосов
/ 09 июля 2009

Это должно работать (при условии, что для вас 0,1 двоичные цифры):

// your arbitrary digits
private static final String DIGITS = "BCDFGHJKLMNPQRSTVWXZ34679";

public String base25ToBinary(String base25Number) {
    long value = 0;
    char[] base25Digits = base25Number.toCharArray();

    for (char digit : base25Digits) {
        value = value * 25 + DIGITS.indexOf(digit);
    }

    return Long.toString(value, 2);
}
2 голосов
/ 09 июля 2009

С макушки головы, для струн 25-й базы.

Integer.toString(Integer.valueof(base25str, 25), 2)

Из вашего вопроса немного неясно, говорите ли вы о фактических 0-9-Z базах или о кодировке чисел с произвольным списком символов. Я предполагаю первое, если позднее, вам не повезло на встроенных модулях.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...