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

222
Visualizações
¿Cómo determinar si un JavaScript ArrayBuffer contiene cadenas o datos binarios?

Estoy creando una aplicación simple donde los usuarios pueden cargar cualquier archivo en el editor de Mónaco en un navegador web.

Estoy tratando de averiguar si el archivo que el usuario ha cargado es texto y, por lo tanto, editable.

En JavaScript, la biblioteca que estoy usando para cargar devuelve el archivo cargado como ArrayBuffer. Por supuesto, puedo convertir esto en texto, independientemente de si es o no texto o binario, y mostrar el resultado en el editor. Presumiblemente, el binario convertido a texto se mostrará como basura en el editor de Mónaco.

También podría examinar el tipo mimo del archivo cargado. Esto contribuiría en gran medida a resolver el problema, pero significa que de alguna manera tengo que saber qué tipos de mimo son texto; no he podido encontrar nada que especifique esto. Además, significa que cualquier archivo sin el conjunto de tipos MIME correcto no será editable.

Entonces, mi pregunta es, ¿hay alguna manera de saber si el contenido de un ArrayBuffer de JavaScript es texto o datos binarios, como una imagen o un código ejecutable, examinando los datos en sí, en lugar de referirse al tipo MIME?

EDITAR: esta pregunta no es un duplicado de las preguntas que simplemente preguntan cómo convertir un ArrayBuffer en texto. Simplemente convertir un ArrayBuffer a texto no indica si se trata de un archivo que contiene texto editable o si es un archivo binario. Se necesita información adicional, como el número mágico sugerido en las respuestas a esta pregunta.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Puede verificar los Magic numbers del ArrayBuffer. Los números mágicos son una especie de constantes en el búfer de archivos que puede verificar para distinguir entre muchos formatos de archivo

Wikipedia - Números mágicos

Este módulo NPM utiliza ese enfoque. Aquí hay una lista de los tipos de archivos compatibles con el módulo, puede ver que no admiten tipos de texto.

  • Para SVG, puede usar https://github.com/sindresorhus/is-svg .
  • Para CSV, puede usar https://www.npmjs.com/package/detect-csv , pero no puede estar seguro al 100 % como dicen aquí .

ACTUALIZACIÓN: He escrito un artículo sobre esto que contiene más explicaciones y un poco de Sandbox

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