Pregunta

Estoy tratando de descomprimir una cadena binaria enviado a través del método de FileReader readAsBinaryString Javascript en mi aplicación pitón. Parece que podría utilizar el módulo de estructura para esto. Estoy seguro de que hacer lo que el formato para el desempaqueta exactamente.

Puede alguien confirmar que este es el enfoque correcto, y si es así, ¿qué formato que debe especificar?

De acuerdo con la documentación JS:

El resultado contendrá los datos del archivo como una cadena binaria. Cada byte es representado por un número entero en el intervalo [0..255].

¿Fue útil?

Solución

Parece como si sólo tiene una cadena ordinaria (o un objeto bytes en Python 3), así que no estoy seguro de lo que se necesita descomprimir.

Un método de acceder a los datos de byte es utilizar un bytearray ; esto le permite indexar los datos de byte fácilmente:

>>> your_data = b'\x00\x12abc'
>>> b = bytearray(your_data)
>>> b[0]
0
>>> b[1]
18

Si lo tienes como una cadena y no desea utilizar un bytearray (que necesita Python 2.6 o posterior) a continuación, utilizar ord para convertir el carácter en un entero.

>>> ord(your_data[1])
18

Si los datos binario tiene una interpretación particular en términos de grupos de bytes que representan números enteros o flotadores con especial endianness entonces el módulo struct es sin duda su amigo, pero no es necesario sólo para examinar los datos byte.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top