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

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

PHPz
PHPzオリジナル
2023-04-25 10:43:05822ブラウズ

PHP プログラミングでは、多くの場合、文字列をバイト配列に変換する必要があります。この記事では、PHPで文字をバイト配列に変換する方法を紹介します。

1. str_split() 関数を使用する

PHP 組み込み関数 str_split() を使用すると、文字列を文字配列に分割できます。この関数は最初のパラメータとして文字列を渡し、2 番目のパラメータで各グループの長さを指定します。2 番目のパラメータが指定されていない場合、デフォルトの長さは 1 です。以下は、文字列をバイト配列に変換する例です。

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

出力結果は次のとおりです。

Array (
    [0] => H
    [1] => e
    [2] => l
    [3] => l
    [4] => o
    [5] =>
    [6] => W
    [7] => o
    [8] => r
    [9] => l
    [10] => d
)

str_split() 関数が文字列を正常に変換したことがわかります。バイト配列。

2. unpack() 関数を使用する

PHP 組み込み関数 unpack() を使用すると、バイナリ文字列をさまざまな変数に分割できます。この関数を使用して、文字列をバイト配列に変換できます。以下に例を示します。

$str = "Hello World";
$bytes = unpack('C*', $str);
print_r($bytes);

出力は次のとおりです。

Array(
    [1] => 72
    [2] => 101
    [3] => 108
    [4] => 108
    [5] => 111
    [6] => 32
    [7] => 87
    [8] => 111
    [9] => 114
    [10] => 108
    [11] => 100
)

unpack() 関数が文字列をバイト配列に正常に変換したことがわかります。

3. mb_str_split() 関数を使用する

処理する文字列にマルチバイト文字が含まれている場合は、mb_str_split() 関数を使用して文字列をバイト配列に変換できます。次に例を示します。

$str = "你好世界";
$bytes = preg_split('//u', $str, -1, PREG_SPLIT_NO_EMPTY);
foreach($bytes as &$byte) {
    $byte = bin2hex(mb_convert_encoding($byte, 'UCS-2BE'));
}
print_r($bytes);

出力は次のとおりです。

Array (
    [0] => 4f60
    [1] => 597d
    [2] => 4e16
    [3] => 754c
)

mb_str_split() 関数がマルチバイト文字を含む文字列をバイト配列に正常に変換したことがわかります。

上記は、PHP で文字をバイト配列に変換する 3 つの方法です。ニーズに応じて、この関数を実装するさまざまな方法を選択できます。

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

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