ホームページ  >  記事  >  バックエンド開発  >  PHPでデータを16進数の文字列に変換する方法

PHPでデータを16進数の文字列に変換する方法

青灯夜游
青灯夜游オリジナル
2022-08-25 18:28:013307ブラウズ

3 変換方法: 1. dechex() 関数を使用して 10 進数を 16 進数の文字列に変換します。構文は「dechex (指定されたデータ値);」です。 2. Base_convert() 関数を使用して、任意の基数値を 16 進数の文字列に変換します (構文は「base_convert(data value, 元の基数, 16);」です。 3. bin2hex() 関数を使用して、ASCII 文字列を 16 進文字列に変換します。構文は「bin2hex (データ値)」です。

PHPでデータを16進数の文字列に変換する方法

このチュートリアルの動作環境: Windows7 システム、PHP8.1 バージョン、DELL G3 コンピューター

php で、データ 16 進数文字列には 2 つの状況があります。

  • #他の 16 進数データを 16 進数文字列に変換する

  • # #ASCII 文字列を 16 進数文字列に変換する

さまざまな状況でさまざまな関数が使用されます。

#ケース 1: 他の基本データを 16 進文字列に変換する

PHP には、変換用の 2 つの関数が用意されています。

  • dechex() 関数

  • base_convert() 関数

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");
?>

PHPでデータを16進数の文字列に変換する方法

説明:

hexdec() 16 進数の文字列を 10 進数に変換します。変換できる最大値は7ffffffff、10進数で2147483647です。 PHP 4.1.0 以降、この関数は大きな数値を処理できるようになり、その場合は float 型が返されます。

hexdec() 見つかった 16 進数以外の文字をすべて 0 に置き換えます。このように、左側のゼロはすべて無視されますが、右側のゼロは値に含まれます。

2.base_convert() 関数の変換

base_convert() 関数は、数値を任意の基数間で変換します。

base_convert(number,frombase,tobase);

パラメータ説明必須。変換する数値を指定します。 必須。数値の元の基数を指定します。 2 ~ 36 (両端の値を含む)。小数以上の数値は、a から z の文字で表されます (a は 10、b は 11、z は 35 を表します)。 必須。変換する基数を指定します。 2 ~ 36 (両端の値を含む)。小数以上の数値は、a から z の文字で表されます (a は 10、b は 11、z は 35 を表します)。
番号
frombase
tobase
パラメータ

tobase の値が 16 の場合、他の基数を 16 進数に変換できます。

例:

<?php
echo base_convert("30", 10, 16) . "<br>";
echo base_convert("364", 8, 16) . "<br>";
?>

PHPでデータを16進数の文字列に変換する方法

説明:

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);
?>

PHPでデータを16進数の文字列に変換する方法

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");
?>

PHPでデータを16進数の文字列に変換する方法

ケース 2: ASCII 文字列を 16 進数文字列に変換する

bin2hex() 関数は次のように変換します。 ASCII 文字の文字列を 16 進値に変換します。

bin2hex(string)

戻り値: 変換する文字列の 16 進数値を返します。

<?php
echo bin2hex("Hello!")."<br>";
echo bin2hex("123")."<br>";
echo bin2hex("10")."<br>";
?>

PHPでデータを16進数の文字列に変換する方法

推奨学習: 「

PHP ビデオ チュートリアル

以上がPHPでデータを16進数の文字列に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。