: -

2014-06-18 7 views
2
파이썬 2.7.3 사용

: 압축을 푼 IEEE 754 형식 번호로 진수 문자열로 변환하는 방법 : -: -

나는 문자열을 가지고

data = '38 1A A3 44' 

내가 struct.unpack 사용하여 부동 소수점 숫자로이 변환하고 싶습니다 :이 양식의 진수 데이터

fdata = struct.unpack('<f','\x38\xA1\xA3\x44') # fdata=1304.8193359375 

거기 파이썬 솔루션 아니면 내가 어떻게 든 대체해야하나요 ea를위한 이스케이프 시퀀스 ch 공간이 데이터?

답변

5

16 진 코드 포인트를 먼저 바이트 문자열로 변환하십시오. (`(문자를 .join ''(INT :

import binascii 
import struct 

fdata = struct.unpack('<f', binascii.unhexlify(data.replace(' ', '')))[0] 

데모 : 나는 16 진수로 변환하는 다른 방법을 함께했다

>>> import binascii 
>>> import struct 
>>> data = '38 1A A3 44' 
>>> struct.unpack('<f', binascii.unhexlify(data.replace(' ', ''))) 
(1304.8193359375,) 
+0

binascii.unhexlify() 당신이 공백을 제거 제공, 당신을 위해이 작업을 수행 할 수 있습니다 x, 16)) for x in data.split())'. 네가 더 낫다. –