Machine: I5 650 1.) Windows XP: Python 2.6.6 (r266:84297, Aug 24 2010, 18:46:32) [MSC v.1500 32 bit (Intel)] on win32 ... IDLE 2.6.6 >>> a=1.2345 >>> from struct import * >>> pack('!d',a) '?\xf3\xc0\x83\x12n\x97\x8d' >>> 2.) Ubuntu 10.04LTS Python 2.6.5 (r265:79063, Apr 16 2010, 13:57:41) [GCC 4.4.3] on linux2 ... IDLE 2.6.5 ==== No Subprocess ==== >>> from struct import * >>> a=1.2345 >>> pack('!d',a) '?\xf3\xc0\x83\x12n\x97\x8d' >>> 3.) Correct 8 (eight!!!) hex values are: 1,2345 (a comma here due to my localisation) 3F F3 C0 83 12 6E 97 8D . This result ca be obtained using Fortran's "equivalence" statement as well as the following VBA UDF : , both give identical results. Where have the two bytes "3F" as well as "6E" gone????