0

次のコードがあります。

<?php
$val = fread($fp,1);
echo 'bindec: '.bindec($val)."\n";
echo 'bin2hex: '.bin2hex($val)."\n";
echo 'bin2hex/hexdec: '.hexdec(bin2hex($val))."\n";
?>

読み取られているバイトは、16 進エディターに0F. 私の出力は次のようになります。

bindec: 0
bin2hex: 0f
bin2hex/hexdec: 15

私の質問は、なぜbindec戻ってくるの0ですか? 確かにそれは戻るべき15ですか?

4

2 に答える 2

1

最初の行のord()代わりに function を使用します。"110101"または"110101"のみを含む入力文字列が必要です。「実際の」バイナリ データを入力として取りません。bindec()bindec()10

于 2012-04-18T00:49:17.310 に答える
0

おっと、あなたの問題が何であるかを誤解していました:P

Bindec はバイナリの実際の文字列を消費し、通常の数値を与えています。

于 2012-04-18T00:49:16.380 に答える