Имам някакъв торент файл със списък с 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