PHP文字列をバイトに変換する方法

PHPz
リリース: 2023-03-29 10:49:01
オリジナル
1230 人が閲覧しました

PHP は、Web 開発、コマンド ライン スクリプティング、その他の分野で使用されるオープン ソースのサーバー側スクリプト言語です。文字列とバイト間の変換は、PHP では非常に一般的な操作です。この記事では、PHPで文字列をバイトに、バイトを文字列に変換する方法を紹介します。

1. 文字列をバイトに変換する

PHP では、pack() 関数を使用して文字列をバイトに変換できます。

pack() 関数の構文は次のとおりです。

string pack ( string $format , mixed $args [, mixed $... ] )
ログイン後にコピー

その中で、$format はパッケージ化メソッドです (つまり、受信パラメータは次のようにパックされます)。指定された形式に従ったバイナリ文字列)、$args はパックされるパラメータです。

具体的には、$format パラメーターは、データのパッケージ化方法を指定するために使用される形式文字列です。たとえば、すべてのパラメータを 16 進文字列に変換するには、H* を使用します。

文字列をバイトに変換するサンプル コードを次に示します。

$str = 'Hello, world!';
$bytes = pack('H*', bin2hex($str));
ログイン後にコピー

上記のコードでは、文字列 $str が 16 進文字列に変換され、パックが使用されます。 () 関数を使用してバイトにパックします。

2. バイトを文字列に変換する

PHP では、unpack() 関数を使用してバイトを文字列に変換できます。

unpack() 関数の構文は次のとおりです。

array unpack ( string $format , string $data )
ログイン後にコピー

このうち、$format はアンパック メソッド (つまり、バイナリ文字列をデータにアンパックする) です。指定された形式に従って)、 $data は解凍されるデータです。

具体的には、$format パラメーターは、データの解凍方法を指定するために使用される形式文字列です。たとえば、バイナリ データを 16 進文字列に変換するには、H* を使用します。

バイトを文字列に変換するサンプル コードを次に示します。

$bytes = "\x48\x65\x6c\x6c\x6f\x2c\x20\x77\x6f\x72\x6c\x64\x21";
$str = unpack('H*', $bytes)[1];
ログイン後にコピー

上記のコードでは、バイト $bytes が 16 個の 16 進文字列にアンパックされ、 bin2hex() 関数を使用して文字列に変換します。 unpack() 関数の戻り値は配列であるため、解凍された文字列を取得するには [1] を使用する必要があることに注意してください。

概要

PHP では、文字列とバイト間の変換は非常に一般的な操作です。この記事では、pack() 関数を使用して文字列をバイトに変換する方法と、unpack() 関数を使用してバイトを文字列に変換する 2 つの方法を紹介します。実際の開発では、ニーズに応じて適切な変換方法を柔軟に選択できます。

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート