Konvertieren eines Strings in ein Byte-Array in PHP
In PHP gibt es verschiedene Möglichkeiten, einen String, der Zeichen und Zahlen enthält, in einen umzuwandeln Byte-Array. Ähnlich wie bei der getBytes()-Methode von Java gibt es hier einige Ansätze, um diese Konvertierung zu erreichen:
Verwenden der ord()-Funktion
Durchlaufen Sie jedes Zeichen in der Zeichenfolge mit strlen(). Verwenden Sie für jedes Zeichen die Funktion ord(), um seinen ganzzahligen ASCII-Wert zu erhalten. Speichern Sie diese Werte in einem Array oder Byte-Array.
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 }
Verwenden der unpack()-Funktion
PHPs unpack()-Funktion bietet eine übersichtliche Methode zum Konvertieren einer Zeichenfolge in ein strukturiertes Array ganzzahliger Werte umwandeln. Es ermöglicht Ihnen, die Zeichen in der Zeichenfolge als einzelne Bytes zu extrahieren und neu zu interpretieren.
$byte_array = unpack('C*', 'The quick fox jumped over the lazy brown dog'); var_dump($byte_array);
Beachten Sie, dass die Werte im Array $byte_array Ganzzahlen sind, die die ASCII-Codes für jedes Zeichen im Bereich von 0 bis 255 darstellen.
Angesichts des ursprünglich bereitgestellten Codeausschnitts scheint es, dass Sie versucht haben, die Zeichen in Hexadezimalwerte statt in Ganzzahlwerte umzuwandeln. Um dies zu erreichen, können Sie die Funktion bin2hex() verwenden, nachdem Sie den ASCII-Code des Zeichens erhalten haben:
for ($i = 0; $i < strlen($msg); $i++) { $data .= bin2hex(chr(ord($msg[$i]))); // Convert to hex and concatenate }
Zusätzliche Hinweise
Das obige ist der detaillierte Inhalt vonWie kann ich einen PHP-String in ein Byte-Array konvertieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!