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

245
Views
Buffers de JavaScript Node.Js a binario

Envío y recibo paquetes con la ayuda de los búferes de Node.JS, pero no estoy seguro de cómo convertir estos búferes en una representación binaria. Intenté esto pero no funcionó

 let buff = Buffer.alloc(10); buff[0] = 10; buff[1] = 16; buff[2] = 20; buff[3] = 32; buff[4] = 9; console.log(buff); console.log(buff.toString('binary'));
over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Según la documentación 'binary' es un alias para 'latin1'

Si desea una representación binaria, la forma más fácil de obtener una representación de cadena del búfer con solo 1 y 0 es convertir el búfer a hexadecimal su representación, luego analizar esta representación en BigInt, obtener la base 2 de BigInt y finalmente rellenar la cadena con ceros no significativos

 function buf2bin (buffer) { return BigInt('0x' + buffer.toString('hex')).toString(2).padStart(buffer.length * 8, '0') }
over 4 years ago · Santiago Trujillo Report

0

Si lo que está preguntando es que desea una representación de cadena (expresada en binario) de cada byte separado en el búfer, todo combinado en una cadena con separadores de espacio para cada byte, entonces puede hacerlo así:

 function convertBufferToBinaryString(buf, len) { let result = []; for (let i = 0; i < len; i++) { result.unshift(buf[i].toString(2).padStart(8, "0")); } return result.join(" "); } // sample usage let buff = Buffer.alloc(10); buff[0] = 10; buff[1] = 16; buff[2] = 20; buff[3] = 32; buff[4] = 9; let str = convertBufferToBinaryString(buff, 5); console.log(str);

Dado que este es un formato de salida personalizado, no hay una forma integrada de hacerlo. Puede convertir cualquier número único en una representación de cadena binaria usando .toString(2) , pero para combinar la representación de cadena binaria de cada byte separado en el búfer, tendría que crear ese resultado combinado usted mismo (como se muestra arriba).

Nota: esta implementación asume que desea el elemento [0] del búfer en el extremo derecho de la cadena de resultados. Es por eso que usa .unshift() al construir la matriz de resultados. Si desea el elemento [0] en el extremo izquierdo de la cadena, utilice .push() en su lugar.

over 4 years ago · Santiago Trujillo Report

0

Simple reduce a cadena con combinación padStart .

 const buff = Buffer.alloc(10); buff[0] = 10; buff[1] = 16; buff[2] = 20; buff[3] = 32; buff[4] = 9; const paddedBinString = buff.reduce( (acc, byte) => (acc += byte.toString(2).padStart(8, "0")), "" ); console.log(paddedBinString); // 00001010 00010000 00010100 00100000 00001001 00000000 00000000 00000000 00000000 00000000
over 4 years ago · Santiago Trujillo 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!