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 サイトの他の関連記事を参照してください。