July 12

Win-1251 в UTF-8 через Node.js

Моя личная боль... 90% ответов из backend старой системы на Oracle отдается в кодировке win-1251

Скрипт на node.js для перекодировки в современную utf-8:

// адрес к которому обращаемся - сервер с ответом в win-1251
const URL = 'https://*****.ru';

// Получение и декодирование данных на лету через TextDecoder
// получаем данные
// переводим в arrayBuffer
// Декодируем в нужную кодировку
let data = fetch(URL).then((response) => response.arrayBuffer()).then((buffer) => {
  let decoder = new TextDecoder("cp1251");
  let text = decoder.decode(buffer);
  return text.trim();
});