I have an array of 10-bytes (80-bits) Little Endian float values (or float80
). How can i read this values in python 3?
The package struct
does not support float80
(may be I read the docs carelessly).
The package array
as same as package "struct" does not support float80
.
The package numpy
supports float128
or float96
types. It's very good, but appending \x00
in a tail of float80
to extend it to float96
or float128
is ugly, importing of this package takes a lot of time.
The package ctypes
supports c_longdouble
. It's many times faster then numpy, but sizeof(c_longdouble)
is machine-dependent and can be less then 80 bits, appending \x00
in a tail of float80
to extend it to c_longdouble
is ugly too.
UPDATE 1: test code at my gist.github.
The function decode_str64
is ugly, but it works. Now I'm looking for right way