3 変換方法: 1. dechex() 関数を使用して 10 進数を 16 進数の文字列に変換します。構文は「dechex (指定されたデータ値);」です。 2. Base_convert() 関数を使用して、任意の基数値を 16 進数の文字列に変換します (構文は「base_convert(data value, 元の基数, 16);」です。 3. bin2hex() 関数を使用して、ASCII 文字列を 16 進文字列に変換します。構文は「bin2hex (データ値)」です。
このチュートリアルの動作環境: Windows7 システム、PHP8.1 バージョン、DELL G3 コンピューター
php で、データ 16 進数文字列には 2 つの状況があります。
#他の 16 進数データを 16 進数文字列に変換する
# #ASCII 文字列を 16 進数文字列に変換する
さまざまな状況でさまざまな関数が使用されます。
#ケース 1: 他の基本データを 16 進文字列に変換する
PHP には、変換用の 2 つの関数が用意されています。1, dechex( )関数変換
dechex() 関数は、10 進数を 16 進数に変換します。dechex(number);戻り値: 16 進数と 10 進数を含む文字列。 例:
<?php echo dechex("30") . "<br>"; echo dechex("10") . "<br>"; echo dechex("1587") . "<br>"; echo dechex("70"); ?>説明: hexdec() 16 進数の文字列を 10 進数に変換します。変換できる最大値は7ffffffff、10進数で2147483647です。 PHP 4.1.0 以降、この関数は大きな数値を処理できるようになり、その場合は float 型が返されます。 hexdec() 見つかった 16 進数以外の文字をすべて 0 に置き換えます。このように、左側のゼロはすべて無視されますが、右側のゼロは値に含まれます。
2.base_convert() 関数の変換
base_convert() 関数は、数値を任意の基数間で変換します。base_convert(number,frombase,tobase);
説明 | |
---|---|
番号 | 必須。変換する数値を指定します。|
frombase | 必須。数値の元の基数を指定します。 2 ~ 36 (両端の値を含む)。小数以上の数値は、a から z の文字で表されます (a は 10、b は 11、z は 35 を表します)。|
tobase | 必須。変換する基数を指定します。 2 ~ 36 (両端の値を含む)。小数以上の数値は、a から z の文字で表されます (a は 10、b は 11、z は 35 を表します)。
tobase の値が 16 の場合、他の基数を 16 進数に変換できます。
<?php echo base_convert("30", 10, 16) . "<br>"; echo base_convert("364", 8, 16) . "<br>"; ?>
説明:
base_convert() 関数は、16 進数を他の基数に変換することもできます。このとき、パラメータfrombaseの値は固定値16にする必要があります。 例 16 から 10:<?php echo base_convert("1e", 16, 10) . "<br>"; echo base_convert("a", 16, 10) . "<br>"; echo base_convert("11ff", 16, 10) . "<br>"; echo base_convert("cceeff", 16, 10); ?>16 を 10 に変換したいだけの場合は、より便利な関数 hexdec() があります hexdec() 16 進数の文字列を 10 進数に変換します。変換できる最大値は7ffffffff、10進数で2147483647です。 PHP 4.1.0 以降、この関数は大きな数値を処理できるようになり、その場合は float 型が返されます。 hexdec() 見つかった 16 進数以外の文字をすべて 0 に置き換えます。このように、左側のゼロはすべて無視されますが、右側のゼロは値に含まれます。
<?php echo hexdec("1e") . "<br>"; echo hexdec("a") . "<br>"; echo hexdec("11ff") . "<br>"; echo hexdec("cceeff"); ?>
ケース 2: ASCII 文字列を 16 進数文字列に変換する
bin2hex() 関数は次のように変換します。 ASCII 文字の文字列を 16 進値に変換します。bin2hex(string)戻り値: 変換する文字列の 16 進数値を返します。
<?php echo bin2hex("Hello!")."<br>"; echo bin2hex("123")."<br>"; echo bin2hex("10")."<br>"; ?>推奨学習: 「
PHP ビデオ チュートリアル 」
以上がPHPでデータを16進数の文字列に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。