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

64
Visualizações
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 à 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