ホームページ  >  記事  >  バックエンド開発  >  PHPで文字列をバイト配列に変換する方法

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

PHPz
PHPzオリジナル
2023-04-20 13:53:461077ブラウズ

PHP では、いくつかのメソッドを使用して文字列をバイト配列に変換できます。この記事では、最も一般的な 2 つの方法に焦点を当てます。

方法 1: str_split 関数を使用する

str_split(string$string, int$split_length = 1): 文字列を部分文字列に分割し、配列に入れて、配列を返します。各文字列の長さは、split_length パラメータで指定された長さになります。 split_length が指定されていない場合、デフォルトは 1 になります。

次は、文字列をバイト配列に変換するサンプル コードです。

$str = "Hello World!";
$bytes = str_split($str);

foreach($bytes as $byte) {
    echo ord($byte) . " ";
}

このサンプル コードでは、ord 関数を使用して各文字を ASCII コードに変換し、foreach を使用しています。ループはバイト配列をコンソールに出力します。出力は次のようになります。

72 101 108 108 111 32 87 111 114 108 100 33

方法 2: unpack 関数を使用する

この方法では、pack 関数を使用して文字列をバイナリ データにパックする必要があります。また、unpack 関数を使用する場合は、パックされたデータ型を指定し、戻り値をバイト配列に変換する必要があります。

以下はサンプル コードです。

$str = "Hello World!";
$bytes = unpack('C*', pack('H*', bin2hex($str)));

foreach($bytes as $byte) {
    echo $byte . " ";
}

このサンプル コードでは、bin2hex を使用して文字列を 16 進文字列に変換し、それを Pack を使用してバイナリ データにパックしています。 unpack を使用する場合、C 型の共有シンボルを使用してデータをアンパックし、foreach ループを使用してバイト配列を出力します。

出力は次のようになります:

72 101 108 108 111 32 87 111 114 108 100 33

要約すると、これらは、PHP で文字列をバイト配列に変換する 2 つの方法です。これらのメソッドがどのように機能するかを理解することは、さまざまな暗号化/復号化操作を実行する必要がある開発者にとって重要です。

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

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