ホームページ  >  記事  >  バックエンド開発  >  PHP bin2hex()

PHP bin2hex()

WBOY
WBOYオリジナル
2024-08-29 12:54:061126ブラウズ

PHP bin2hex() は、任意の文字列を 16 進値に変換するために使用される関数です。バイナリ文字列の変換は、バックグラウンドで継続的に変換が行われ、バイト単位で処理されます。この関数の非常に重要な側面の 1 つは、bin2hex() が、文字列が 2 進数を表し、その 2 進数が 16 進数に変換されることを示していないことです。 16 進形式に変換される任意の文字列を指定できます。単一の文字列パラメータが関数に渡され、16 進値または形式に変換されます。この関数は、関数に引数として渡される文字列の 16 進値を返します。

無料ソフトウェア開発コースを始めましょう

Web 開発、プログラミング言語、ソフトウェア テスト、その他

構文:

bin2hex($String)

PHP bin2hex() は、任意の文字列型の 1 つの文字列値を考慮し、16 進値に変換する関数です。この関数は、文字列の入力として関数にパラメータとして渡された値を返します。

PHP では bin2hex() 関数はどのように動作しますか?

bin2hex() 関数は、文字列を 16 進値に変換するために使用される PHP の一部です。文字列データのバイナリ形式も考慮できますが、bin2hex の名前が示すように、文字列のバイナリ形式のみが 16 進文字列に変換されると誤解しないでください。より具体的には、ASCII 文字の入力文字列が 16 進値に変換されます。文字列は、pack 関数を使用して以前の形式の文字列に変換し直すことができます。これは、bin2hex 文字列と Pack 関数が良い組み合わせであり、互いに多少依存していることを意味します。 PHP 文字列参照の一部であるこの関数は、任意の文字列形式データを処理して、16 進数形式の参照用出力として最終文字列に変換できます。

また、bin2hex() 関数へのパラメータとしての文字列の変換は一度に行われるわけではなく、変換は最初にバイト単位で実行される上位ニブルで行われます。前述したように、bin2hex() 関数ではパック関数が避けられないことは、実行時にオブザーバーであるという単なる事実で証明できます。パラメーターとして渡された文字列がバイナリ形式の文字列であるとします。これは、バイナリ形式の入力が渡され、要件に従って 16 進数形式に変換されることを意味します。しかし、バイナリ形式を、入力として供給された文字列の以前の形式と同じ形式に変換する必要があるという要件が到来しました。これは明らかに要件の大幅な変更を意味しており、そのとき、pack() 関数が救世主として登場します。 PHP 文字列参照の一部としての Pack() 関数は、文字列のバイナリ形式を考慮し、署名付きおよび署名なしの形式コードに基づいて文字列全体を解凍します。その機能とコーディングとデコード、またはすべてのパックとアンパックのテーマは、Perl 言語のコーディングとデコードの標準パラダイムとほぼ同様です。しかし、依然として、pack 関数を伴う bin2hex() 機能の機能は、テーマとしての Perl 言語の文字列のコーディングおよびデコーディング形式ほど柔軟ではありません。

PHP bin2hex() の例

以下に例を示します:

例 #1

このプログラムは、関数のパラメータとして与えられた文字列を16進数値に変換するために使用されます。この例では、入力文字列は「WelcomeEveryone to educba」で、出力は、出力に示されているように、渡された文字列の 16 進形式です。

コード:

<?php<br /> $str = bin2hex("Welcome evreryone to educba!");<br /> echo($str);<br /> ?>

出力:

PHP bin2hex()

例 #2

このプログラムは、関数のパラメータとして与えられた文字列を16進数値に変換するために使用されます。この例では、入力文字列は「Welcome Educba!」です。出力は、出力に示されているように、渡された文字列とその入力文字列値の 16 進形式です。

コード:

<?php<br /> $str = "welcome Educba!";<br /> echo bin2hex($str) . "n";<br /> echo pack("H*",bin2hex($str)) . "n";<br /> ?>

出力:

PHP bin2hex()

例 #3

このプログラムは、関数のパラメータとして与えられた文字列を16進数値に変換するために使用されます。この例では、入力文字列は string(17) で、出力は渡された文字列の 16 進形式全体のダンプであり、出力に示されているように string(17) です。

コード:

<?php<br /> $hex = hex2bin("657864545706c652657865782064617461");<br /> var_dump($hex);<br /> ?>

出力:

PHP bin2hex()

例 #4

このプログラムは、bin2hex () 関数文字列の優れた仲間である Pack 関数を利用します。これは bin2hex() 関数と同じように機能しますが、値の数とパラメーターの数が 4 であるバイナリ形式の文字列のみ (C4 文字列の場合は 90、72、80、62) を入力文字列として考慮する点がわずかに異なります。出力。

コード:

<?php<br /> echo pack("C4",90,72,80,62);<br /> ?>

出力:

PHP bin2hex()

例 #5

このプログラムは、bin2hex () 関数文字列の優れた仲間である Pack 関数を利用します。これは bin2hex() 関数と同じように機能しますが、値の数と * が付いたパラメーターの数を含むバイナリ形式の文字列のみ (C* 文字列の場合は 55、65、83) を出力への入力文字列として考慮するという点がわずかに異なります。 。ここで、C* は、任意の数の長さの文字列を、任意の数の値を持つパラメーターとして渡すことができることを表します。

コード:

<?php<br /> echo pack("C*",55,65,83);<br /> ?>

出力:

PHP bin2hex()

例 #6

このプログラムは、パラメータとして渡された 16 進文字列の unpack 関数の使用法を示し、フォーマットに従って文字列をアンパックし、入力文字列のバイナリ データ形式を生成し直します。

コード:

<?php<br /> $data = "educba";<br /> print_r(unpack("C*",$data));<br /> ?>

出力:

PHP bin2hex()

例 #7

このプログラムは、パラメーターとして渡された 16 進文字列の unpack 関数の使用法を示しています。その後、形式に従って任意の数の値 (長さ) 文字列を解凍し、入力文字列のバイナリ データ形式を次のように生成します。出力に表示されます。

コード:

<?php<br /> $data = "educba";<br /> print_r(unpack("C*edu",$data));<br /> ?>

出力:

PHP bin2hex()

結論

PHP bin2hex() 関数は、文字列参照の一部であるすべての文字列で適切に動作し、各ハイニブル パターン変換の助けを借りて独自の関数になります。また、pack() 関数と unpack() 関数を使用すると、さらに多用途になります。

以上がPHP bin2hex()の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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