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

235
Vistas
UInt16Array no funciona como se esperaba (orden incorrecto)

Tengo algunos datos binarios en un archivo que estoy leyendo (Hex):

 00 00 00 18 66 74 79 70

Leo el archivo y lo convierto en un arrayBuffer y tanto en Uint8Array como en Uint16Array.

 const arrayBuffer = await selectedFile.arrayBuffer() const uint8Array = new Uint8Array(arrayBuffer) const uint16Array = new UInt16Array(arrayBuffer)

El contenido de Uint8Array es el esperado:

 Decimal Hex 0: 0 0 1: 0 0 2: 0 0 3: 24 18 4: 102 66 5: 116 74 6: 121 79 7: 112 70

Pero en uint16Array los dos bytes están invertidos .

 Decimal Hex What I expected as Hex 0: 0 0 0 1: 6144 18 00 00 18 2: 29798 74 66 66 74 3: 28793 70 79 79 70

¿Por qué se invierten los dos bytes? ¿Qué puedo hacer para obtener el orden correcto si, por ejemplo, necesito buscar 0x6674.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

El endianness del archivo (del formato de datos) es diferente al de su procesador.

Si le preocupa el endianness (y lo hace, si lee o escribe archivos destinados a ser utilizados en diferentes plataformas), no use un Uint16Array que siempre usa el orden de bytes de la plataforma, use un DataView en su lugar y llame al método getUint16 para cada índice.

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