Binary, Hex und Dateneinheiten erklärt
Ein praktisches Glossar der Zahlensysteme und Einheitskonventionen für Binär, Hexadezimal und Dateneinheiten, wie sie in Programmierung, Netzwerk- und Forensik-Arbeiten verwendet werden.
Jedes Byte, das du in einem Hex-Editor inspizierst, jede Subnetzmaske, die du berechnest, jede Dateigröße, die ein Tool meldet, hängt von einem kleinen Satz von Zahlensystemen und Einheitskonventionen ab. Wenn du diese falsch verstehst, wirst du eine Puffergröße falsch einschätzen, einen Speicherabzug falsch lesen oder mit einem Kollegen darüber streiten, ob 1 KB 1000 oder 1024 Bytes sind.
Binary: das Zahlensystem, das jeder Computer wirklich spricht
Binär ist Basis 2 — nur 0 und 1. Eine einzelne Binärziffer ist ein Bit. Fasse 8 Bits zusammen und du erhältst ein Byte, das 256 verschiedene Werte darstellen kann (0 bis 255 vorzeichenlos oder -128 bis 127 vorzeichenbehaftet im Zweierkomplement).
Wenn du 01001000 siehst, ist das 72 im Dezimalsystem, was zufällig der ASCII-Code für 'H' ist. Die manuelle Konvertierung ist einfach das Summieren von Zweierpotenzen vom rechten Bit aus: 2^6 + 2^3 = 64 + 8 = 72. Tools wie python3 -c "print(bin(72))" oder xxd auf einer Datei erledigen dies sofort, aber das Verständnis der Mathematik ist wichtig, wenn du eine Bitmaske reverse engineerst oder Flagwerte in einem TCP-Header ausarbeitest.
Hexadecimal: die Kurzschrift des Binärsystems
Hex ist Basis 16 und verwendet 0-9 und A-F. Es existiert, weil Binär in großem Maßstab unlesbar ist und Dezimal nicht sauber an Bytegrenzen abgebildet wird. Eine Hexziffer stellt genau 4 Bits dar, also stellen zwei Hexziffern ein vollständiges Byte dar — 0x00 bis 0xFF deckt alle 256 Bytewerte ohne verschwendeten Platz ab.
Deshalb sind Hex-Dumps die Standardausgabe in Tools wie xxd, hexdump -C oder der Speicherview eines Disassemblers. Wenn du 0x4D 0x5A am Anfang einer Datei siehst, ist das der MZ-Header, der eine Windows-PE-Datei kennzeichnet. Speicheradressen, Farbcodes (#FF5733), MAC-Adressen und IPv6-Adressen werden alle konventionell in Hex geschrieben, weil es so sauber auf die zugrunde liegende Byte- und Nibble-Struktur abgebildet wird.
Hex in Dezimal konvertieren: 0x4D = (4 × 16) + 13 = 77. In Python bekommst du das Ergebnis mit int('4D', 16) ohne manuelle Mathematik, und hex(77) geht den anderen Weg.
Wo Binär, Dezimal und Hex wirklich in der Praxis aufeinandertreffen
IP-Adressen sind ein gutes Beispiel dafür, wie alle drei aufeinandertreffen. Eine IPv4-Adresse wie 192.168.1.1 sind wirklich vier Bytes: 11000000.10101000.00000001.00000001 in Binär oder C0.A8.01.01 in Hex. Subnetzberechnung — herauszufinden, ob zwei Adressen im selben Netzwerk sind — ist grundsätzlich eine Binär-UND-Operation gegen eine Subnetzmaske, obwohl wir alles aus Gründen der Benutzerfreundlichkeit in Punktnotation schreiben.
In der digitalen Forensik und Malware-Analyse übersetzt du ständig zwischen diesen Darstellungen. Ein Disassembler zeigt Opcodes in Hex, aber die CPU führt Binärcode aus, und Registerwerte werden oft als Dezimaloffsets oder ASCII-Strings je nach Kontext interpretiert. Zu wissen, dass 0x41 sowohl die Zahl 65 als auch das ASCII-Zeichen 'A' ist, ist die Art von Mustererkennung, die die manuelle Analyse erheblich beschleunigt.
Dateneinheiten: das Problem mit 1000 vs 1024
Hier passieren echte Fehler. Speicherhersteller, Dateisysteme und Betriebssysteme einigen sich nicht immer darauf, was eine
Mit KI-Unterstützung geschrieben, von Michal Pilch (CISSP), Korra Studio, überprüft und veröffentlicht.
Das ist eine Notiz aus der Korra-Studio-Wissensdatenbank — die Plattform verbindet jedes Thema mit 1-zu-1-Mentoring.
Kostenlos startenarrow_forward