Heim >Backend-Entwicklung >PHP-Problem >So konvertieren Sie PHP-Zeichen in ein Byte-Array

So konvertieren Sie PHP-Zeichen in ein Byte-Array

PHPz
PHPzOriginal
2023-04-25 10:43:05823Durchsuche

Bei der PHP-Programmierung müssen wir häufig Zeichenfolgen in Byte-Arrays konvertieren. In diesem Artikel stellen wir vor, wie man Zeichen in PHP in ein Byte-Array umwandelt.

1. Verwenden Sie die Funktion str_split().

Die in PHP integrierte Funktion str_split() kann eine Zeichenfolge in ein Zeichenarray aufteilen. Diese Funktion übergibt eine Zeichenfolge als ersten Parameter und der zweite Parameter gibt die Länge jeder Gruppe an. Wenn der zweite Parameter nicht angegeben ist, ist die Standardlänge 1. Das Folgende ist ein Beispiel für die Konvertierung einer Zeichenfolge in ein Byte-Array:

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

Die Ausgabe lautet wie folgt:

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

Wir können sehen, dass die Funktion str_split() die Zeichenfolge erfolgreich in ein Byte-Array konvertiert hat.

2. Verwenden Sie die Funktion unpack()

Die in PHP integrierte Funktion unpack() kann die Binärzeichenfolge in verschiedene Variablen aufteilen. Mit dieser Funktion können wir einen String in ein Byte-Array umwandeln. Hier ist ein Beispiel:

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

Die Ausgabe lautet wie folgt:

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

Wir können sehen, dass die Funktion unpack() den String erfolgreich in ein Byte-Array konvertiert hat.

3. Verwenden Sie die Funktion mb_str_split()

Wenn die von uns verarbeitete Zeichenfolge Multibyte-Zeichen enthält, können wir die Funktion mb_str_split() verwenden, um die Zeichenfolge in ein Byte-Array umzuwandeln. Hier ist ein Beispiel:

$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);

Die Ausgabe lautet wie folgt:

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

Wir können sehen, dass die Funktion mb_str_split() einen String mit Multibyte-Zeichen erfolgreich in ein Byte-Array konvertiert hat.

Die oben genannten sind drei Methoden zum Konvertieren von Zeichen in Byte-Arrays in PHP. Wir können je nach Bedarf verschiedene Methoden wählen, um diese Funktion zu implementieren.

Das obige ist der detaillierte Inhalt vonSo konvertieren Sie PHP-Zeichen in ein Byte-Array. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn