Где я могу найти класс Base64Encoder? - PullRequest
6 голосов
/ 06 января 2012

Привет, я видел пример на StackOverflow, который имел этот код:

String encoding = Base64Encoder.encode ("test1:test1");
HttpPost httppost = new HttpPost("http://host:post/test/login");
httppost.setHeader("Authorization", "Basic " + encoding);

System.out.println("executing request " + httppost.getRequestLine());
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();

У меня есть задача, похожая на эту.Я пытался использовать тот же код, но нигде не смог найти класс Base64Encoder.Я использую httpclient-4.1.2.jar и httpcore-4.1.2.jar.Может ли кто-нибудь помочь мне с этим?

Ответы [ 3 ]

6 голосов
/ 06 января 2012

A Base64 en / decoder давно отсутствует в API Java, поэтому вам придется найти хороший сторонний, например, Кодек Apache Commons , iHarder Base64 и т. Д.

4 голосов
/ 06 января 2012

Я думаю, вам нужен кодек для общего использования, чтобы использовать кодировку Base64 с HttpClient.Вот ссылка. Общая ссылка на кодек

2 голосов
/ 06 января 2012

Поскольку maerics попросил меня:

Поскольку я думаю, что Java6 на самом деле есть класс DatatypeConverter , который является частью JAXB.

Интересны два статических открытых метода parseBase64Binary и printBase64Binary.Также обратите внимание, что это определено в java.lang, так что это официальная часть JDK.Вы можете использовать его, но лично мне больше нравится вариант commons, так как он не возвращает строку при декодировании вещи base64 ..

...