Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann ich mit „unpack()' einen PHP-String in ein Byte-Array konvertieren?

Wie kann ich mit „unpack()' einen PHP-String in ein Byte-Array konvertieren?

Susan Sarandon
Freigeben: 2024-12-04 06:02:13
Original
720 Leute haben es durchsucht

How Can I Convert a PHP String into a Byte Array Using `unpack()`?

Konvertieren eines Strings in ein Byte-Array in PHP

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.

GetBytes() Äquivalent in PHP

Ä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.

Entpacken eines Strings in ein Integer-Array

Um ein ganzzahliges Array zu erhalten, das die Bytewerte einer Zeichenfolge darstellt, verwenden Sie das folgende unpack()-Format:

$byte_array = unpack('C*', $string);
Nach dem Login kopieren

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.

Beispiel

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);
Nach dem Login kopieren

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)
}
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage