Проблема при разборе закодированных данных? - PullRequest
1 голос
/ 22 июля 2011

У меня есть какой-то торрент-файл со списком объявленных URL-адресов, например, это его часть:

announce-listll68:http://iptorrents.com:2790/b6d18a815ab4421a86de672d6833369d/announceel67:http://iptorrents.me:2710/b6d18a815ab4421a86de672d6833369d/announceel67:http://iptorrents.ru:6969/b6d18a815ab4421a86de672d6833369d/announceee

Итак, вот один массив с ключом «announce-list», который содержит три элемента (закодированные данные), http://en.wikipedia.org/wiki/Bencode). Итак, я использую класс BDecoder.java от Aeltis для его декодирования. При синтаксическом анализе я получаю следующие значения Map:

{created by=[B@141d683, announce=[B@16a55fa, encoding=[B@32c41a, announce-list=[[[B@e89b94], [[B@13e205f], [[B@1bf73fa]], comment=[B@5740bb, creation date=1310060702, info={pieces=[B@5ac072, name=[B@109a4c, length=34209795, piece length=65536, private=1}}

Итак, объявите список, заполненный некоторыми хешами.Как я могу преобразовать его в обычную строку (например, «http://iptorrents.com:2790/b6d18a815ab4421a86de672d6833369d/announce»)? Или это какая-то проблема с алгоритмом в BDecoder.java?

Это метод высшего класса для декодирования данных: http://pastebin.com/HimqF0ye

1 Ответ

1 голос
/ 28 июля 2011

Объект, возвращаемый в вашем случае, является универсальной картой, без определенного типа. Поэтому, я полагаю, когда вы пытаетесь напечатать значения, печатаются только адреса. Попробуйте привести значения Map к String, и это должно сработать.

С уважением,

Батист

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