Как преобразовать "двоичную строку" в base64? - PullRequest
3 голосов
/ 04 декабря 2011

Я следовал этому: https://dev.twitter.com/docs/auth/creating-signature

до конца, но я не могу найти, как закодировать "двоичную строку" в base64 (в конце).Сначала я хотел попробовать онлайн-конвертеры, но они не показывают строку "tnnArxj06cWHq44gCs1OSKk / jLY ="

Пробовал это: http://www.motobit.com/util/base64-decoder-encoder.asp

и

http://www.hash -cracker.com / base64.php # якорь

и

http://www.opinionatedgeek.com/dotnet/tools/Base64Encode/

, и никто не дает эту строку.

Я собираюсь использовать Java.Но я думаю, что все те инструменты Java, которые я ищу, дадут тот же результат, что и онлайн-конвертеры.Что нужно сделать, чтобы закодировать «двоичную строку» в base64?

1 Ответ

6 голосов
/ 04 декабря 2011

Проблема использования этих онлайн-инструментов не будет заключаться в преобразовании base64 - для начала нужно будет проанализировать шестнадцатеричную строку в байтовом массиве.В вашем реальном коде это не будет проблемой, так как это будет выход из другого этапа.Просто чтобы доказать это, вот некоторый пример кода Java с использованием кодера base64 общественного достояния :

public class Test {
    public static void main(String[] args) throws Exception {
        byte[] data = { (byte) 0xB6, (byte) 0x79, (byte) 0xC0, (byte) 0xAF, 
                (byte) 0x18, (byte) 0xF4, (byte) 0xE9, (byte) 0xC5, 
                (byte) 0x87, (byte) 0xAB, (byte) 0x8E, (byte) 0x20, 
                (byte) 0x0A, (byte) 0xCD, (byte) 0x4E, (byte) 0x48, 
                (byte) 0xA9, (byte) 0x3F, (byte) 0x8C, (byte) 0xB6 };

        String text = Base64.encodeBytes(data);
        System.out.println(text);
    }
}

Вывод: tnnArxj06cWHq44gCs1OSKk / jLY =

...