PHP関数pack
を使用してバイナリデータを作成しました。 それから、このデータをjavaアプリケーションから解凍する必要がありました。私は整数、文字列、longsおよび他のデータ型を解凍することができましたが、私は浮動小数点に問題があります。javaを使用してバイナリPHP packed floatを展開する
は、私は、Javaで私はDataInputStream
オブジェクトからメソッドreadFloat()
を使用しています以下の
pack("f", 189.0);
のようなコードを使用してPHPからデータを作成し、しかし、私は小さく、支離滅裂の値を取得します。
明らかに、phpとjavaは異なる表記を使用して浮動小数点数を表します。 この問題を解決し、PHPのfloat型からnative型のJava float型への変換を実行するにはどうすればよいですか?
はちょうど/ビッグ・エンディアンである可能性がありますリトルエンディアンの問題? –
* f - float(**マシンに依存**サイズと表現)* [ref](http://php.net/manual/en/function.pack.php) - それであなたは何を達成しようとしていますか?おそらくマシンの違いに対処する別の方法があります。 – hakre
関連:[Javaリトルエンディアンまたはビッグエンディアンの整数ですか?](http://stackoverflow.com/questions/362384/are-integers-in-java-little-endian-or-big-endian) – hakre