php - 在 PHP 中解压签名 int32 小端

标签 php unpack endianness int32

我有一个正在尝试解析的二进制文件。文件的一小部分有一组坐标(纬度和经度)。一个小例子如下:

$data = "64DA7300 0CD5DFFF";

我正在尝试查看整数,但还没有运气。

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

我知道正确的数字应该是:(7592548, -2108148),但结果是 1094988854, 808465207

有什么想法吗?谢谢。

最佳答案

$data = "64DA7300 0CD5DFFF";

您的数据不是二进制的,而是十六进制编码的 ascii。首先将其二进制化:

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

然后你的解压就可以了。

Example

关于php - 在 PHP 中解压签名 int32 小端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45171703/

相关文章:

php - 如何在页面加载时自动聚焦 div

php - 关于 PHP 中 OOP 的使用,这是正确的吗?

java - Perl 在 Java 中的解包表示是什么

Python:从函数中压平包含另一个元组的元组的最简单方法

ruby - 转换三个字节,二进制补码,有符号整数

mmap 大端与小端

PHP错误,无法将图像插入数据库

javascript - 使用循环处理 javascript 中的 json 数组

Ruby 将 64 位 IEEE 754 十六进制转换为 double

go - Golang无法使用math.Float64frombits将[] byte (“1575455669.4”)转换为float64