Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

878
Visualizações
nodeJS: convierta response.body en utf-8 (desde la codificación de Windows-1251)

Estoy tratando de convertir un cuerpo HTML codificado en windows-1251 en utf-8 pero todavía tengo caracteres desordenados en html .

Básicamente son alfabeto ruso, pero no puedo hacer que se muestren correctamente. me sale ??????? ?? ???

 const GOT = require('got') // https://www.npmjs.com/package/got const WIN1251 = require('windows-1251') // https://www.npmjs.com/package/windows-1251 async function query() { var body = Buffer.from(await GOT('https://example.net/', {resolveBodyOnly: true}), 'binary') var html = WIN1251.decode(body.toString('utf8')) console.log(html) } query()

ingrese la descripción de la imagen aquí

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Estás haciendo un montón de codificación tonta de un lado a otro aquí. Y los 'atrás' ni siquiera coinciden con los 'adelante'.

Primero, usa la biblioteca got para descargar una página web; de forma predeterminada, got decodificará diligentemente los textos de respuesta como UTF-8 . Rellena la cadena Unicode devuelta en un Buffer con la codificación binary , que desecha el octeto superior de cada unidad de código UTF-16 de la cadena Unicode. Luego usa .toString('utf-8') que interpreta esta cadena mutilada como UTF-8 (en realidad, lo más probable es que no sea UTF-8 válido en absoluto). Luego, pasa la cadena 'UTF-8' a windows-1251 , para decodificarla como una cadena de 'página de códigos 1251'. Nada bueno puede salir de toda esta confusión.

El paquete windows-1251 que desea usar toma las llamadas cadenas 'binarias' (pseudo-Latin-1) como entrada. Lo que debe hacer en su lugar es tomar la respuesta binaria, interpretarla como una cadena Latin-1/'binary' y luego pasarla a la biblioteca de windows-1251 para su decodificación.

En otras palabras, usa esto:

 const GOT = require('got'); const WIN1251 = require('windows-1251'); async function query() { const body = await GOT('https://example.net/', { resolveBodyOnly: true, responseType: 'buffer' }); const html = WIN1251.decode(body.toString('binary')) console.log(html) } query()
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda