2017-07-18 14 views
2

私は解析しようとしているバイナリファイルを持っています。ファイルの少しの部分に座標(緯度と経度)のセットがあります。小さな例は次のようになります:PHPで符号付きint32リトルエンディアンをアンパック

$data = "64DA7300 0CD5DFFF"; 

そして、私は整数を見ようとしていますが、私はまだ運がありません。しかし、結果は1094988854, 808465207あり、(7592548, -2108148)

$header = unpack("ilatitud/ilongitude", $data); 
print_r($header); 

私は正しい数字がでなければなりません知っています。

アイデア?ありがとう。

+0

ADS-B座標ですか?私が正しいことを覚えていれば、通常の16進数 - >バイナリ変換以上のものが必要です – Andreas

+0

これらは単にGPS座標ですので、正確な座標を得るには結果を65536で割り算する必要があります。しかし、私の問題は変換です。:/ – user143

+0

'$ data =" 64DA7300 0CD5DFFF ";' thatsはバイナリではありません。 – tkausl

答えて

3
$data = "64DA7300 0CD5DFFF"; 

データはバイナリではありません。アスキーは16進数でエンコードされています。最初にバイナリにしてください:

$data = hex2bin(str_replace(" ", "", $data)); 

あなたのアンパックが機能します。

Example

関連する問題