ホームページ >バックエンド開発 >PHPチュートリアル >「unpack()」を使用して PHP 文字列をバイト配列に変換するにはどうすればよいですか?
PHP では、特に期待するシステムとインターフェイスする場合に、文字列をバイト配列に変換する必要が生じることがあります。バイナリ データ形式。
Java の getBytes() メソッドと同様に、PHP はこのタスクを実行する unpack() 関数を提供します。文字列の Unicode コード ポイントを表すバイト配列を返す getBytes() とは異なり、unpack() を使用すると、カスタム形式を指定して特定のデータを抽出できます。
文字列のバイト値を表す整数配列を取得するには、次の unpack() を使用します。 format:
$byte_array = unpack('C*', $string);
フォーマット文字列 'C*' は、文字列のバイト値を表す一連の符号なし文字 (範囲 [0, 255]) を解凍することを示します。
文字列の例を見てみましょう: 「足の速いキツネは怠惰な茶色の犬を飛び越えました。」上記のアプローチを使用すると、対応するバイト配列を取得できます。
$string = "The quick fox jumped over the lazy brown dog"; $byte_array = unpack('C*', $string); var_dump($byte_array);
出力:
array(44) { [1] => int(84) [2] => int(104) [3] => int(101) [4] => int(32) [5] => int(113) [6] => int(117) [7] => int(105) [8] => int(99) [9] => int(107) [10] => int(32) [11] => int(102) [12] => int(111) [13] => int(120) [14] => int(32) [15] => int(106) [16] => int(117) [17] => int(109) [18] => int(112) [19] => int(101) [20] => int(100) [21] => int(32) [22] => int(111) [23] => int(118) [24] => int(101) [25] => int(114) [26] => int(32) [27] => int(116) [28] => int(104) [29] => int(101) [30] => int(32) [31] => int(108) [32] => int(97) [33] => int(122) [34] => int(121) [35] => int(32) [36] => int(98) [37] => int(114) [38] => int(111) [39] => int(119) [40] => int(110) [41] => int(32) [42] => int(100) [43] => int(111) [44] => int(103) }
ご覧のとおり、出力配列には、 1 からインデックス付けされた文字列。
以上が「unpack()」を使用して PHP 文字列をバイト配列に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。