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

236
Views
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 answers
Answer question

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 Report
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!