これはおそらく最善のアイデアではないことは承知していますが、JavaのDataOutputStreamを使用してエンコードされたPHPでファイルを読み取ろうとして遊んでいます。
具体的には、Javaでは次のものを使用します。
dataOutputStream.writeInt(number);
次に、PHPで次のコマンドを使用してファイルを読み取ります。
$data = fread($handle, 4);
$number = unpack('N', $data);
奇妙なことに、正しい値を与えるPHPのフォーマット文字は「N」だけです。これは「unsignedlong(常に32ビット、ビッグエンディアンバイトオーダー)」を表すことになっています。私int
はJavaで常に署名されていると思いましたか?
このようにJavaでエンコードされたデータを確実に読み取ることは可能ですか?この場合、整数は正である必要があるだけです。また、かなり大きくする必要があるため、writeShort()
不可能です。それ以外の場合はもちろん、XMLやJSONなどを使用できます。