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

59
Vistas
Decodificación de caracteres especiales en diferentes sistemas de archivos con Javascript

Estoy tratando de resolver esto desde hace horas, pero simplemente no puedo entender qué es lo que está mal aquí.

Tengo un archivo llamado test_!§$%&_ÄäÜüÖö.mp4 que quiero cargar en un depósito de AWS S3. La carga funciona bien si no hay caracteres especiales (sí, probé la respuesta oficial de los documentos de AWS usando decodeURIComponnet(filename) , pero esto no funcionó). No estoy tan confundido con los caracteres especiales !§$%& pero sí quiero que se convierta la diéresis alemana. Por lo tanto, estoy haciendo tres cosas:

 // remove all special chars (key comes from the file to upload) let cleanKey = key.replace(/[°^!"§$%&\\()[\]{}=?*+#<>]/g, ""); // convert spaces to `_` cleanKey = cleanKey.replace(" ", "_"); // convert German characters const characters = [...cleanKey].map(char => { switch (encodeURI(char)) { case encodeURI("Ä"): return "Ae"; case encodeURI("ä"): return "ae"; case encodeURI("Ö"): return "Oe"; case encodeURI("ö"): return "oe"; case encodeURI("Ü"): return "Ue"; case encodeURI("ü"): return "ue"; default: return char; } }); // return converted key return characters.join("");

El problema es que los caracteres de mi sistema de archivos (MacOS 12.0.1) no coinciden en la declaración de switch . He leído un par de discusiones (por ejemplo, here y here ) y parece que la decodificación de caracteres funciona de manera diferente en cada sistema operativo. Desafortunadamente, no pude averiguar cómo convertiría mi nombre de archivo en una cadena UTF-8 normal (si es que esto existe) para analizar los caracteres no válidos.

Sé que mi enfoque probablemente no esté realmente listo para la producción (por ejemplo, si alguien quiere cargar un archivo escrito en letras hebreas), así que si alguien tiene una mejor solución para no obtener el

The specified key does not exist

error, por favor hágamelo saber.

about 4 years ago · Juan Pablo Isaza
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