Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich mit „unpack()' einen PHP-String in ein Byte-Array konvertieren?
In PHP kann es vorkommen, dass Sie einen String in ein Byte-Array konvertieren müssen, insbesondere wenn Sie mit Systemen kommunizieren, die dies erwarten binäre Datenformate.
Ähnlich wie getBytes() in Java Methode bietet PHP die Funktion unpack() an, um diese Aufgabe zu erfüllen. Im Gegensatz zu getBytes(), das ein Byte-Array zurückgibt, das die Unicode-Codepunkte des Strings darstellt, können Sie mit unpack() ein benutzerdefiniertes Format angeben, um bestimmte Daten zu extrahieren.
Um ein ganzzahliges Array zu erhalten, das die Bytewerte einer Zeichenfolge darstellt, verwenden Sie das folgende unpack()-Format:
$byte_array = unpack('C*', $string);
Die Formatzeichenfolge „C*“ gibt dies an Wir möchten eine Folge von vorzeichenlosen Zeichen (in den Bereichen [0, 255]) entpacken, die die Bytewerte der Zeichenfolge darstellen.
Nehmen wir die Beispielzeichenfolge: „The Quick Fox sprang über den faulen braunen Hund. Mit dem obigen Ansatz können wir das entsprechende Byte-Array erhalten:
$string = "The quick fox jumped over the lazy brown dog"; $byte_array = unpack('C*', $string); var_dump($byte_array);
Ausgabe:
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) }
Wie Sie sehen können, enthält das Ausgabe-Array die Bytewerte jedes Zeichens im Zeichenfolge, indiziert ab 1.
Das obige ist der detaillierte Inhalt vonWie kann ich mit „unpack()' einen PHP-String in ein Byte-Array konvertieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!