Heim  >  Artikel  >  Backend-Entwicklung  >  So konvertieren Sie eine Hexadezimal- in eine String-Funktion in PHP

So konvertieren Sie eine Hexadezimal- in eine String-Funktion in PHP

PHPz
PHPzOriginal
2023-04-19 09:15:181038Durchsuche

PHP verfügt als serverseitige Programmiersprache über eine umfangreiche Funktionsbibliothek, die Entwicklern eine schnelle Entwicklung erleichtert. PHP bietet eine Funktion zum Konvertieren von Hexadezimalzahlen in Zeichenfolgen. Lassen Sie uns diese Funktion unten vorstellen.

Die Funktion zum Konvertieren von Hexadezimalzahlen in Zeichenfolgen in PHP ist hex2bin(). Seine Funktion besteht darin, hexadezimale Zahlen in Zeichenfolgen umzuwandeln.

Beispielcode:

$string = hex2bin('546869732069732061207465737420737472696e67');
echo $string;

Laufergebnis:

Dies ist eine Testzeichenfolge

Im obigen Beispiel wandelt die Funktion hex2bin() die hexadezimale Zeichenfolge „546869732069732061207465737420737472696e67“ in die Zeichenfolge „This“ um ist eine Testzeichenfolge'. Wie Sie sehen, ist die konvertierte Zeichenfolge dieselbe wie die ursprüngliche hexadezimale Zeichenfolge.

Es ist zu beachten, dass PHP beim Aufruf der Funktion hex2bin() automatisch ein „0“-Zeichen am Ende hinzufügt, wenn die übergebene Hexadezimalzahl keine gerade Anzahl von Ziffern ist (d. h. nicht durch 2 teilbar ist). Die Zeichenfolge wird dadurch in eine gerade Zahl umgewandelt und anschließend umgewandelt.

Beispielcode:

$string = hex2bin('546869732069732061207465737420737472696e670');
echo $string;

Laufergebnis:

Dies ist eine Testzeichenfolge

Das Zeichen „0“ am Ende der Hexadezimalzeichenfolge „546869732069732061207465737420737472696e670“ wird von PHP automatisch hinzugefügt.

Zusätzlich zur hex2bin()-Funktion gibt es in PHP die folgenden zwei Funktionen, die Hexadezimalzahlen in Strings umwandeln können:

  1. pack()-Funktion:
    pack()-Funktion kann verwendet werden, um Hexadezimalzahlen in Strings umzuwandeln bespannen. Im Gegensatz zur Funktion hex2bin() kann die Funktion pack() in verschiedene Formate konvertieren.

Formatbeschreibung:

H – Hexadezimale Zeichenfolge (Big Endian)
h – Hexadezimale Zeichenfolge (Low Endian)
N – Unsigned Long (Netzwerk-Byte-Reihenfolge)
n – ​​Unsigned Short (Netzwerk-Byte-Reihenfolge)
V – Unsigned Long (native Byte-Reihenfolge)
v – Unsigned Short (native Byte-Reihenfolge)

Beispielcode:

$string = pack("H*", '546869732069732061207465737420737472696e67');
echo $string;

Laufergebnisse:

Dies ist eine Testzeichenfolge

Dieser Code ähnelt der Verwendung der Funktion hex2bin(). Der Unterschied besteht darin, dass die Funktion pack() hexadezimale Zeichenfolgen in verschiedenen Formaten analysieren kann. Funktion

  1. chr(): Die Funktion
    chr() wird verwendet, um den angegebenen ASCII-Codewert in Zeichen umzuwandeln. Da ein Byte 256 verschiedene Zeichen darstellen kann, entspricht die Hexadezimalzahl eines Bytes einem ASCII-Codewert. Daher kann die konvertierte Zeichenfolge erhalten werden, indem die Hexadezimalzeichenfolge in zwei Zeichengruppen aufgeteilt und jede Gruppe in ihren entsprechenden ASCII-Codewert umgewandelt wird.

Beispielcode:

$str = "546869732069732061207465737420737472696e67";
$len = strlen($str);
$res = "";
for ($i = 0; $i < $len; $i += 2) {
    $res .= chr(hexdec(substr($str, $i, 2)));
}
echo $res;

Laufergebnis:

Dies ist eine Testzeichenfolge

Im obigen Beispiel teilen wir zunächst die hexadezimale Zeichenfolge $str in zwei Zeichengruppen auf, sodass $ die Länge von str eine gerade Zahl ist. Durchlaufen Sie jede Gruppe durch eine for-Schleife, rufen Sie die Funktion hexdec() auf, um sie in eine Dezimalzahl umzuwandeln, rufen Sie dann die Funktion chr() auf, um sie in das entsprechende Zeichen umzuwandeln, und fügen Sie das Zeichen zur Zeichenfolge $res hinzu.

Zusammenfassend lässt sich sagen, dass PHP eine Vielzahl von Methoden bietet, um Hexadezimalzahlen in Strings umzuwandeln. Entwickler können die geeignete Methode entsprechend den tatsächlichen Anforderungen auswählen.

Das obige ist der detaillierte Inhalt vonSo konvertieren Sie eine Hexadezimal- in eine String-Funktion in PHP. 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