Aktueller Standort: Startseite> Neueste Artikel> Hexdec kooperiert mit Substr, um Hexadezimalwerte in Saiten zu verarbeiten

Hexdec kooperiert mit Substr, um Hexadezimalwerte in Saiten zu verarbeiten

gitbox 2025-05-27

1. Einführung in die HexDEC -Funktion

Hexdec ist eine PHP-integrierte Funktion, die Hex-Saiten in Dezimalzahlen umwandelt.

 int hexdec ( string $hex_string )

Zum Beispiel:

 echo hexdec("1A"); // Ausgabe 26

2. Einführung in die Substr -Funktion

Substr wird verwendet, um Substrings bestimmter Positionen und Längen in Saiten abzufangen.

 string substr ( string $string , int $start [, int $length ] )

Zum Beispiel:

 echo substr("abcdef", 1, 3); // Ausgabe "bcd"

3.. Umfassende Anwendungsbeispiele

Angenommen, wir haben eine Zeichenfolge, die mehrere hexadezimale Zahlen enthält, die mit anderen Zeichen gemischt sind, z. B.:

 $data = "id=abc1234fxyz";

Unser Ziel ist es, den "1234F" -Teil aus dieser Schnur (unter der Annahme, dass seine Position bekannt ist) auszuziehen und ihn in eine Dezimalzahl umzuwandeln.

Die Implementierungsmethode lautet wie folgt:

 <?php
$data = "id=abc1234fxyz";

// Aus der Saite6Beginnen Sie mit Charakteren,Abfangen5Charaktere(Im Augenblick "1234f")
$hexString = substr($data, 5, 5);

// 将Abfangen的Hexadezimalschnur转换为十进制数字
$decimalValue = hexdec($hexString);

echo "Hexadezimalschnur: " . $hexString . "\n";
echo "Konvertierte Dezimalwerte: " . $decimalValue . "\n";
?>

Ausgabe:

 Hexadezimalschnur: 1234f
Konvertierte Dezimalwerte: 74575

4.. Extrahieren Sie die Hexadezimalschnur von unsicheren Orten

Wenn sich die hexadezimale Zeichenfolge nicht in einer festen Position befindet, können Sie die String -Suchfunktion Strpos verwenden, um sie zu lokalisieren, und dann mit Substr abzufangen.

Zum Beispiel:

 <?php
$data = "user=xyz&code=1a2b3c&status=ok";

// auftauchen "code=" Position in String
$pos = strpos($data, "code=");

if ($pos !== false) {
    // "code=" Die Ausgangsposition der Hexadezimalzahl
    $start = $pos + strlen("code=");

    // Angenommen, die Länge der Hexadezimalzahl ist6
    $hexString = substr($data, $start, 6);

    $decimalValue = hexdec($hexString);

    echo "提取的Hexadezimalschnur: " . $hexString . "\n";
    echo "Konvertierte Dezimalwerte: " . $decimalValue . "\n";
} else {
    echo "未auftauchen指定的Hexadezimalschnur。\n";
}
?>

Ausgabe:

 提取的Hexadezimalschnur: 1a2b3c
Konvertierte Dezimalwerte: 1715004

5. Zusammenfassung

  • Substr wird verwendet, um den angegebenen Teil der Zeichenfolge abzufangen.

  • Hexdec konvertiert eine Hex -Zeichenfolge in einen Dezimalwert.

  • Die Kombination der beiden erleichtert es einfach, Hexadezimalzahlen in eine Schnur zu extrahieren und zu konvertieren.