The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Выпуск libtorrent 2.0 с поддержкой протокола BitTorrent 2"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Присылайте удачные настройки в раздел примеров файлов конфигурации на WIKI.opennet.ru.
. "Выпуск libtorrent 2.0 с поддержкой протокола BitTorrent 2" +1 +/
Сообщение от Аноним (20), 07-Сен-20, 11:02 
Могли бы ещё от дурацкого bencoding отказаться.

Чтобы распарсить строку в bencoding, нужно:
1. Понять, что перед нами строка. Т.е. мы находимся в списке, в начале элемента; или словаре, в начале ключа или значения, и под курсором находится цифра;
2. Считать цифры до ':';
3. Перевести последовательность цифр в Int32 число. В стандарте не описано - какая разрядность чисел в bencoding, но большинство торрент-клиентов использует Int32;
4. Считать полученное количество байт после ':' в массив
5. Перевести массив байт в строку. Для этого нужно угадать её кодировку. Скорее всего она в UTF-8, но в старых торрентах, она может быть в 1251 или в какой-нибудь китайской чепушне. В торренте есть параметр encoding, но он часто врёт.

Я ни одного генератора парсеров не знаю, который справился бы с такой грамматикой.

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Выпуск libtorrent 2.0 с поддержкой протокола BitTorrent 2, opennews, 07-Сен-20, 08:27  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру