PHP で文字列をバイト配列に変換する
PHP では、文字と数字を含む文字列をバイト配列に変換するさまざまな方法があります。バイト配列。 Java の getBytes() メソッドと同様に、この変換を実現するためのいくつかのアプローチを次に示します。
ord() 関数の使用
使用して文字列内の各文字をループします。 strlen()。各文字について、 ord() 関数を使用して、その ASCII 整数値を取得します。これらの値を配列またはバイト配列に保存します。
for ($i = 0; $i < strlen($msg); $i++) { $data[] = ord($msg[$i]); // Store in an array // or $byte_array .= ord($msg[$i]); // Concatenate in a byte array }
unpack() 関数の使用
PHP の unpack() 関数は、文字列を変換するための簡潔なメソッドを提供します。整数値の構造化配列に変換します。これにより、文字列内の文字を個別のバイトとして抽出して再解釈できます。
$byte_array = unpack('C*', 'The quick fox jumped over the lazy brown dog'); var_dump($byte_array);
$byte_array 配列の値は、各文字の ASCII コードを表す 0 ~ 255 の整数であることに注意してください。
提供された元のコード スニペットを考慮すると、文字を整数ではなく 16 進値に変換しようとしていたようです。価値観。これを実現するには、文字の ASCII コードを取得した後に bin2hex() 関数を使用します。
for ($i = 0; $i < strlen($msg); $i++) { $data .= bin2hex(chr(ord($msg[$i]))); // Convert to hex and concatenate }
補足
以上がPHP 文字列をバイト配列に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。