ホームページ >バックエンド開発 >PHPチュートリアル >PHPで文字列の16進ダンプを取得するにはどうすればよいですか?

PHPで文字列の16進ダンプを取得するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-18 09:53:11244ブラウズ

How to Get a Hexadecimal Dump of a String in PHP?

PHP での文字列の 16 進ダンプの取得

PHP では、文字列は文字のシーケンスを表します。ただし、エンコードを扱う場合は、文字列を構成する生のバイトを検査する必要がある場合があります。この記事では、文字列の 16 進ダンプを取得し、そのバイナリ内容の低レベル表現を提供する 2 つの方法について説明します。

方法 1: bin2hex() を使用する

bin2hex() 関数は、バイナリ データ (バイト) を 16 進数表現に変換します。文字列の 16 進ダンプを取得するには、それを引数として bin2hex() に渡すだけです。例:

$string = "Hello World";
$hexDump = bin2hex($string);
echo $hexDump;

これにより、次の 16 進表現が出力されます:

48656c6c6f20576f726c64

方法 2: 文字の反復

より詳細な制御用書式設定を変更すると、文字列内の各文字を反復処理して、その ASCII 値を 16 進数に変換できます。これは、次のコードを使用して実行できます。

$string = "Hello World";
$hexDump = "";

for ($i = 0; $i < strlen($string); $i++) {
    $hexDump .= str_pad(dechex(ord($string[$i])), 2, '0', STR_PAD_LEFT);
}

echo $hexDump;

出力は方法 1 と同じになります。

48656c6c6f20576f726c64

どちらの方法でも、データを構成するバイトの 16 進表現が提供されます。文字列。エンコードの問題のデバッグや低レベルの文字列操作の実行に役立ちます。

以上がPHPで文字列の16進ダンプを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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