Почему получаются кракозябры в ответе node-request?

Добрый день. Интересует такая проблема, почему request в binary режиме возвращает кракозябры от utf-8 страниц?
Пример:

var request = require('request');

request({
    uri: 'http://www.cn.ru/',
    method: 'GET',
    encoding: 'binary' // режим получения кракозябр вместо ответа
}).on('response', function(res) {
    res.on('data', function(data) {
        // получаем кучу кракозябр
        console.log(data.toString());
    });
});


Если убрать encoding: 'binary', то получаем что-то более-менее вменяемое.
Этот режим использую, чтобы не utf-8 страницы получалось нормально сконвертировать с помощью node-iconv.
  • Вопрос задан
  • 3143 просмотра
Пригласить эксперта
Ответы на вопрос 1
ghaiklor
@ghaiklor
NodeJS TechLead
Потому что binary - это все-таки бинарный формат данных. Оно всегда будет возвращать кракозябры.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы