Lassen Sie uns Daten in drei Kategorien einteilen: Daten, die von Menschen gelesen werden können (normalerweise Texte, von Büchern bis zu Programmen), Daten, die von Computern gelesen werden sollen, und andere Daten (Analysieren von Bildern oder Ton).
Für die erste Kategorie müssen wir sie zu etwas verarbeiten, das ein Computer verwenden kann. Da die von Menschen verwendeten Sprachen von Parsern in der Regel relativ gut erfasst werden können, verwenden wir hierfür in der Regel Parser.
Ein Beispiel für Daten in der dritten Kategorie wäre ein gescanntes Bild einer Seite aus einem Buch, die Sie in Text zerlegen möchten. Für diese Kategorie benötigen Sie fast immer sehr spezifisches Wissen über Ihre Eingabe, und daher benötigen Sie ein spezifisches Programm, um diese zu analysieren. Mit der Standard-Parsing-Technologie kommen Sie hier nicht weit.
Ihre Frage bezieht sich auf die zweite Kategorie: Wenn wir binäre Daten haben, handelt es sich fast immer um ein Produkt eines Computerprogramms, das für ein anderes Computerprogramm bestimmt ist. Dies bedeutet sofort auch, dass das Format der Daten von dem Programm ausgewählt wird, das für deren Erstellung verantwortlich ist.
Computerprogramme erzeugen Daten fast immer in einem Format, das eine klare Struktur aufweist. Wenn wir eine Eingabe analysieren, versuchen wir im Wesentlichen, die Struktur der Eingabe herauszufinden . Bei binären Daten ist diese Struktur im Allgemeinen sehr einfach und kann von Computern leicht analysiert werden.
Mit anderen Worten, es ist normalerweise eine Verschwendung, die Struktur einer Eingabe herauszufinden, für die Sie die Struktur bereits kennen. Da das Parsen nicht kostenlos ist (es kostet Zeit und erhöht die Komplexität Ihres Programms), ist die Verwendung von Lexern / Parsern für Binärdaten „so falsch“.