Не совсем понятно, каков ваш вопрос, но я постараюсь заполнить некоторые вопросы.
'\ 0' ничем не отличается от любого другого непечатаемого символа. Все не-безопасные символы URL всегда должны быть экранированы как% xx в запросе GET к HTTP-трекеру. У некоторых трекеров есть ошибки, когда они, например, предполагают, что символы, которые не нужно экранировать, не экранированы (то есть они могут сохранить экранированную версию информационного хэша в качестве своего внутреннего представления). Некоторые веб-серверы могут даже предполагать, что `(одинарная кавычка) всегда экранируется (что допускает атаки с использованием SQL-инъекций). Все специальные символы должны быть экранированы, особенно &
и %
(очевидно).
Ответ намного проще. Поскольку ответ от трекера закодирован, все информационные хэши отправляются в двоичном виде. то есть кодирование вообще не происходит. При его декодировании может потребоваться шестнадцатеричное кодирование информационного хэша, поскольку это более удобное представление, а также традиционный способ их печати (на веб-сайтах, в магнитных ссылках, приложениях).
Итак, на ваш вопрос. Когда вы говорите «торренты с нулевым байтом в информационном хеше», я предполагаю, что вы имеете в виду, что у их информационного хэша есть еще один байт, равный 0. Это совершенно нормально и не редкость. Будет ли это нормально работать? Да, вам просто нужно убедиться, что он не указан как% 00, так же, как вы должны делать с% 01.
Ваш торрент, вероятно, мертв, т.е. трекер перестал его отслеживать. Вот что означает это сообщение об ошибке. Вероятно, это не имеет ничего общего с наличием нулевого байта в информационном хеше.