Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

58
Views
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
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!