Aktueller Standort: Startseite> Neueste Artikel> Verwenden Sie HexDec + bin2hex, um binäre und dezimal

Verwenden Sie HexDec + bin2hex, um binäre und dezimal

gitbox 2025-05-27

Die Datenumwandlung ist ein sehr häufiger Betrieb bei der täglichen PHP -Programmierung, insbesondere wenn es sich um die zugrunde liegenden Kommunikation, Verschlüsselungsalgorithmen oder Daten analysiert, für die häufig eine Konvertierung zwischen binären, hexadezimalen und dezimalen Konvertierung erforderlich ist. In diesem Artikel werden Sie vermitteln, wie Sie durch zwei PHP -native Funktionen, Hexdec () und Bin2hex () eine effiziente Konvertierung von Binär zu Dezimaler erzielen können.

Warum nicht direkt BindEc verwenden?

PHP liefert die BindEc () -Funktion, um binäre Zeichenfolgen direkt in Dezimalzahlen umzuwandeln. Warum müssen wir noch Hexdec () und bin2hex () verwenden?

Die Antwort lautet: größere Flexibilität und Kompatibilität.

  • Binec () ist nur für reine Zeichenfolgen geeignet, die aus 0 und 1 bestehen, und ist anfällig für Fehler, wenn es sich um große Zahlen oder binäre Rohdaten wie Byte -Streams handelt.

  • Bin2hex () und HexDec () können rohe binäre Zeichenfolgen verarbeiten, was stabiler und zuverlässiger ist, wenn Datenpakete mit niedriger Ebene, Verschlüsselung oder Dateiformat analysiert werden.

Grundnutzung Erklärung

1. Bin2hex () - Binär bis Hexadezimal

Die Funktion dieser Funktion besteht darin, eine binäre Zeichenfolge (Beachten Sie, dass es sich um eine binäre Zeichenfolge in PHP handelt, nicht um eine Zeichenfolge, die durch 0 und 1 dargestellt wird) in eine hexadezimale Darstellung:

 $data = "\x0A"; // Decimal ist 10 Bytes von
$hex = bin2hex($data);
echo $hex; // Ausgabe: 0a

2. hexdec () - hex zu dezimal

Konvertieren Sie eine hexadezimale Schnur in eine Dezimalbezahlung:

 $hex = "0a";
$decimal = hexdec($hex);
echo $decimal; // Ausgabe: 10

Kombinierte Verwendung zur Implementierung von Binär- bis Dezimal

Angenommen, wir lesen einen binären Byte -Stream aus einer API oder einer zugrunde liegenden Datei, und wir möchten ihn in einen Dezimalwert konvertieren. Der Code ist wie folgt:

 $binary = "\x01\x02"; // Dies sind zwei Bytes: 00000001 00000010

$hex = bin2hex($binary);       // Ausgabe: 0102
$decimal = hexdec($hex);       // Ausgabe: 258

echo "Der Dezimalwert ist: " . $decimal;

Das "\ x01 \ x02" ist hier tatsächlich gleichwertig zu binary 00000001 00000010 und nach der Kombination ist es hexadezimal 0102 , das genau 258 in Dezimalheit umgewandelt wird.

Ein echtes Nutzungsszenario

Angenommen, Sie entwickeln eine Schnittstelle, die mit einem Hardware -Gerät kommuniziert, das Ihnen 2 Bytes über einen Sockel zurückgibt, um die Temperatur anzuzeigen, und die ursprünglichen Daten, die Sie erhalten, lautet wie folgt:

 $socketData = "\x00\x7D"; // Das bedeutet hexadezimal 007D

Sie möchten es in einen Dezimalwert umwandeln, um den Temperaturablesen anzuzeigen:

 $hex = bin2hex($socketData);   // Ausgabe: 007d
$temperature = hexdec($hex);   // Ausgabe: 125

echo "Die Stromtemperatur ist: " . $temperature . "°C";

Zusätzlich: Wie geht man mit Big-Endian- und Small-Endian-Formaten um?

Wenn die von Ihnen erhaltenen Daten in Little Endian codiert sind (niedrige Bytes sind vorne), müssen Sie zuerst die Byte -Bestellung umkehren:

 $littleEndian = "\x7D\x00";
$bigEndian = strrev($littleEndian); // Wenden Sie sich an große Endreihenfolge
$decimal = hexdec(bin2hex($bigEndian)); // Richtig analysiert wie 125

echo $decimal; // Ausgabe: 125

Zusammenfassung

Bin2hex () und HexDec () sind sehr wichtige Werkzeuge zur Verarbeitung von Binärdaten in PHP. Sie können besonders gut im Verarbeitungsdateifluss, zugrunde liegenden Protokollen, Datenanalysen und anderen Szenarien abschneiden. Obwohl BindEc () besser zum Umgang mit einfachen Binärketten geeignet ist, ist die Kombination von Bin2hex () und HexDec () zweifellos leistungsfähiger und stabiler, wenn sie komplexere Datenformate haben.

Wenn Sie diese Datenverarbeitungstechniken eingehend lernen möchten, können Sie besuchen:

<Code> https://gitbox.net/php/hexdec-in2hex-guide </code>

Beherrschen Sie diese zugrunde liegenden Fähigkeiten, um Ihre PHP -Programmierung professioneller und effizienter zu gestalten!