hex2bin

(PHP 5 >= 5.4.0, PHP 7)

hex2bin16進エンコードされたバイナリ文字列をデコードする

説明

hex2bin ( string $data ) : string

16進エンコードされたバイナリ文字列をデコードします。

警告

これは、16進数を2進数に変換する関数ではありません。 2進数への変換には base_convert() 関数を使いましょう。

パラメータ

data

16進表現のデータ。

返り値

指定したデータを2進表現に変換したものを返します。 失敗した場合に FALSE を返します。

エラー / 例外

16進表現の入力文字列長が奇数の場合や入力文字列が16進文字列として不正な場合は E_WARNING レベルのエラーが発生します。

変更履歴

バージョン 説明
5.5.1 入力が16進文字列として不正な場合に、警告を発するようになりました。
5.4.4 入力の文字列長が奇数の場合に警告を発するようになりました。 PHP 5.4.0 ではそんな文字列も黙って受け入れていましたが、 最終バイトは切り捨てられていました。

例1 hex2bin() の例

<?php
$hex 
hex2bin("6578616d706c65206865782064617461");
var_dump($hex);
?>

上の例の出力は、 たとえば以下のようになります。

string(16) "example hex data"

参考

  • bin2hex() - バイナリのデータを16進表現に変換する
  • unpack() - バイナリ文字列からデータを切り出す