Heim  >  Artikel  >  Backend-Entwicklung  >  PHP konvertiert String in Hexadezimal

PHP konvertiert String in Hexadezimal

WBOY
WBOYOriginal
2023-05-24 17:59:082331Durchsuche

Im Bereich der Webentwicklung ist es oft notwendig, Daten zu kodieren und zu dekodieren. Unter diesen ist die Konvertierung von Zeichenfolgen in das Hexadezimalformat eine häufige Anforderung. Beispielsweise müssen die Daten beim Verschlüsseln, Übertragen oder Speichern von Daten in das Hexadezimalformat konvertiert werden. In PHP ist es auch sehr praktisch, es in Funktionen umzuwandeln. Lassen Sie uns die spezifische Implementierungsmethode vorstellen.

1. Verwenden Sie die Funktion bin2hex()

PHP stellt die Funktion bin2hex() zur Verfügung, mit der Binärdaten in eine hexadezimale Zeichenfolge umgewandelt werden können. Da es sich bei Zeichenfolgen im Wesentlichen um Binärdaten handelt, können wir die zu konvertierende Zeichenfolge zunächst in ein Binärformat konvertieren und dann die Funktion bin2hex () verwenden, um die Zeichenfolge in ein Hexadezimalformat umzuwandeln. Der spezifische Code lautet wie folgt:

$str = 'hello world';
$hex_str = bin2hex($str); 
echo $hex_str;

oben Im Code wird die Zeichenfolge „Hallo Welt“ in eine Binärzeichenfolge und dann über die Funktion bin2hex () in eine Hexadezimalzeichenfolge umgewandelt. Das endgültige Ausgabeergebnis ist:

68656c6c6f20776f726c64

Dieses Ergebnis sieht seltsam aus, ist aber tatsächlich die hexadezimale Darstellung von „Hallo Welt“. Jeweils zwei Zeichen entsprechen einem Byte, was die weitere Verarbeitung und Übertragung erleichtert.

2. Benutzerdefinierte Funktion zum Konvertieren von Zeichenfolgen in Hexadezimalzahlen

Zusätzlich zur Verwendung integrierter Funktionen können wir auch benutzerdefinierte Funktionen verwenden, um Zeichenfolgen in Hexadezimalzahlen umzuwandeln. Nachfolgend finden Sie einen einfachen Implementierungscode:

function str2hex($str) {
    $hex='';
    for ($i=0; $i<strlen($str); $i++) {
        $ord=ord($str[$i]);
        $hexCode=dechex($ord);
        $hex .= substr('0'.$hexCode, -2);
    }
    return $hex;
}

$str = 'hello world';
$hex_str = str2hex($str);
echo $hex_str;

Im obigen Code definieren wir zunächst eine benutzerdefinierte Funktion str2hex(), die einen String in das Hexadezimalformat konvertieren kann. Das spezifische Implementierungsprinzip lautet wie folgt:

  1. Durchlaufen Sie die Zeichenfolge und konvertieren Sie jedes Zeichen mit der Funktion ord () in ASCII-Code.
  2. Konvertieren Sie ASCII-Code mit der Funktion dechex() in das Hexadezimalformat.
  3. Wenn die aktuelle Hexadezimalzahl weniger als zwei Ziffern hat, fügen Sie davor Nullen hinzu.
  4. Fügen Sie das Hexadezimalformat jedes Zeichens zusammen, um schließlich das Hexadezimalformat der gesamten Zeichenfolge zu erhalten.

Das Ausgabeergebnis ist das gleiche wie das Ergebnis der Verwendung der integrierten Funktion bin2hex(), beide sind:

68656c6c6f20776f726c64

Zusammenfassung

In PHP gibt es zwei Hauptmethoden, um eine Zeichenfolge in das Hexadezimalformat zu konvertieren: Verwenden Sie die integrierte Funktion bin2hex( ) oder benutzerdefinierte Funktionsimplementierung. Unter diesen ist es einfacher, integrierte Funktionen zu verwenden, aber benutzerdefinierte Funktionen bieten eine höhere Flexibilität und können individuellere Berechnungen und Konvertierungen durchführen. Entwickler können basierend auf ihren tatsächlichen Anforderungen eine geeignete Methode zur Implementierung auswählen.

Das obige ist der detaillierte Inhalt vonPHP konvertiert String in Hexadezimal. 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