pack y unpack

David García daganu en gmail.com
Dom Feb 22 04:37:59 CET 2009


Hugo J. Ordonez-Rodriguez escribió:
> hola estoy tratando de construir una aplicación que requiere enviar
> flotantes a través de la capa de red
> por eso necesito obtener la representación hexadecimal para enviar
> byte por byte.
> 
> Pero al usar pack
>>>> struct.pack(">f",0.8)
> '?L\xcc\xcd'
> deberían ser 4 bytes no?
> 
> Algo como esto :
>>>> struct.unpack(">f", "\x3f\x4c\xcc\xcd")

> (0.80000001192092896,)
> 
> Sin embargo python parece saber como interpretar el resultado previo:
> 
>>>> struct.unpack(">f", "?L\xcc\xcd")
> (0.80000001192092896,)

Es que tambien son 4 bytes:

'?' = 3F, 'L' = 4C, CC, CD

La representación IEEE 754 de un flotante con precisión 32 bits.

0.80000001192092896


> 
> !!!!
> _______________________________________________
> Lista de correo Python-es 
> http://listas.aditel.org/listinfo/python-es
> FAQ: http://listas.aditel.org/faqpyes
> 

_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes





Más información sobre la lista de distribución Python-es