PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPのbin2hex()関数とは?文字列を16進数に変換する方法をわかりやすく解説

PHPのbin2hex()関数は、文字列(ASCII文字)を16進数表現に変換するための組み込み関数です。バイナリデータや文字列を16進数の文字列として扱いたい場合に便利で、データのエンコード処理などによく利用されます。

構文

bin2hex(str)

パラメータ

  • str − 16進数に変換したい文字列を指定します。

戻り値

bin2hex()関数は、引数に渡されたASCII文字列を1バイトずつ16進数の値に変換し、その結果を文字列として返します。戻り値は常に英数字(0〜9、a〜f)で構成される文字列になります。

実際の使用例を見てみましょう。

例1:基本的な使い方

<?php
   $s = bin2hex("Welcome!");
   echo($s); 
?>

このコードを実行すると、文字列「Welcome!」が16進数に変換されて出力されます。

出力

57656c636f6d6521

「W」は57、「e」は65、「l」は6c…というように、各文字が対応する16進数のASCIIコードに変換されていることがわかります。

続いて、別の例を見てみましょう。

例2:数値文字列の場合

<?php
   $val = bin2hex("1011");
   echo($val); 
?>

この例では、数字の並びである「1011」という文字列を変換しています。ここでのポイントは、入力が数値としてではなく文字列として扱われるという点です。各文字「1」「0」「1」「1」がそれぞれASCIIコードの16進数に変換されます。

出力

31303131

「1」は31、「0」は30に対応するため、結果は「31303131」となります。bin2hex()関数はあくまで文字単位でASCIIコードを16進数化する関数であり、2進数の数値を16進数に変換するものではない点に注意してください。

まとめ

bin2hex()関数は、文字列を16進数表現の文字列に変換するシンプルながら有用な関数です。逆に16進数から元の文字列に戻したい場合は、hex2bin()関数を使用します。データのエンコード・デコード処理を行う際に、両者をセットで覚えておくとよいでしょう。

  1. PHPのecho()関数とは?使い方と実例をわかりやすく解説

    echo()は、1つ以上の文字列を出力するためのPHPの基本的な言語構造です。Webページへのテキスト表示やデバッグなど、PHP開発において最も頻繁に使われる機能の一つです。 ポイント:echo()は厳密には関数ではなく言語構造のため、括弧を省略して記述できます。また、print()と比較して処理が高速であり、カンマ区切りで複数の引数を渡せる点が大きな特徴です。 構文 echo(str) パラメータ str − 出力したい文字列を指定します。カンマ(,)で区切ることで、複数の文字列を一度に出力することも可能です。 戻り値 echo()関数は戻り値を返しません(void)。そのため、式の中で

  2. PHPのcrc32()関数とは?使い方とデータ整合性チェックの方法

    crc32()関数は、文字列から32ビット長のCRC(巡回冗長検査)チェックサムを計算するためのPHP組み込み関数です。主にデータの整合性を検証する目的で使用され、送信前後のデータが一致しているかどうかを簡単に確認できます。crc32()関数の概要CRC(Cyclic Redundancy Check:巡回冗長検査)は、データ通信やファイル転送時に発生する誤りを検出するための代表的な手法です。crc32()関数を使えば、任意の文字列に対応するチェックサム値(整数)を取得できます。同じ入力に対しては常に同じ値が生成されるため、データが途中で破損・改変されていないかを検証する際に役立ちます。構文c