Converter bytes em números de ponto flutuante em Python

votos
31

Eu tenho um arquivo binário que eu tenho que analisar e estou usando Python. Existe uma maneira de ter 4 bytes e convertê-lo em um único precisão número de ponto flutuante?

Publicado 07/08/2008 em 23:24
fonte usuário
Em outras línguas...                            


2 respostas

votos
54

>>> import struct
>>> struct.pack('f', 3.141592654)
b'\xdb\x0fI@'
>>> struct.unpack('f', b'\xdb\x0fI@')
(3.1415927410125732,)
>>> struct.pack('4f', 1.0, 2.0, 3.0, 4.0)
'\x00\x00\x80?\x00\x00\x00@\x00\x00@@\x00\x00\x80@'
Respondeu 16/09/2008 em 15:59
fonte usuário

votos
13

Você vai querer o struct pacote.

Respondeu 07/08/2008 em 23:35
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more