Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

369
Vistas
¿Cómo elimino/reemplazo caracteres Unicode en Node16?

Tengo un archivo que leí en un objeto JSON

 { "city": "Delicias", "address": "FRANCISCO DOMÍN\u0002GUEZ 9" }

Usamos esta dirección para pasarla a la API de mapas de Google para obtener la latitud y la longitud, pero la API de mapas de Google no está contenta con los caracteres que no son utf-8 como o \u0002

He buscado por todas partes y no puedo encontrar una solución que funcione en Node16

puedo deshacerme de con JSON.stringify(jsonObject).replace(/[^\x00-\x7F]/g, "")

Pero nada de lo que he probado parece deshacerse de \u0002

Cosas que he probado

 const escapeUnicode = (str) => { return str.replace(/[\u00A0-\uffff]/gu, function (c) { return "\\u" + ("000" + c.charCodeAt().toString(16)).slice(-4); }); }; JSON.parse(JSON.stringify(jsonObject)); JSON.parse(escapeUnicode(JSON.stringify(jsonObject))); JSON.parse(JSON.stringify(jsonObject).replace(/[^ -~]+/g, "")); JSON.parse(decodeURIComponent(JSON.stringify(jsonObject)));

He intentado todo lo anterior, y un montón de diferentes expresiones regulares .replace() ninguno parece funcionar,

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Después de mucho buscar e intentar, descubrí esta forma posible de deshacerme de los códigos Unicode y reemplazarlos con el carácter utf-8 adecuado.

 let jsonObj = { "city": "Delicias", "address": "FRANCISCO DOMÍN\u0002GUEZ 9" }; myString = JSON.stringify(jsonObj); const decodeString = (str) => { return str.replace(/\\u[\dA-F]{4}/gi, (unicode) => { return String.fromCharCode(parseInt(unicode.replace(/\\u/g, ""), 16)); }); } console.log("Decoding a unicode: ", decodeString("\\u00C4")); //double \\ to stop auto conversion by JS console.log("Decoded jsonString: ", decodeString(myString));

Supongo que \u0002 es simplemente nada, ¿verdad? De todos modos, se supone que esta función convierte cualquier Unicode a utf-8

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda