我知道这可能不是最好的主意,但我一直在尝试读取使用 Java 的 DataOutputStream 编码的 PHP 文件。
具体来说,在 Java 中我使用:
dataOutputStream.writeInt(number);
然后在 PHP 中,我使用以下命令读取文件:
$data = fread($handle, 4);
$number = unpack('N', $data);
奇怪的是,PHP 中唯一给出正确值的格式字符是“N”,它应该表示“无符号长整数(总是 32 位,大端字节序)”。我以为int
在java中总是签名的?
是否有可能以这种方式可靠地读取用 Java 编码的数据?在这种情况下,整数只需要为正数。它可能还需要非常大,因此writeShort()
是不可能的。否则我当然可以使用 XML 或 JSON 之类的。