hotti: Was bedeutet maschinenlesbar

Beitrag lesen

Insofern ist XML kein gutes Beispiel für maschinenlesbare Dateien und bringt eine ganze Reihe von Nachteilen mit sich, die Du im Wiki nachlesen kannst.

Einer der Nachteile ergibt sich aus der menschlichen Lesbarkeit einer XML-Struktur, denn derartige Dateien sind mit textlichen Mitteln strukturiert.

<Amount currency="EUR">99.99</Amount>

sind Bytes die für den Menschen lesbar sind. Eine Maschine würde sich z.B. damit begnügen:

Amount99.99currencyEUR

Wobei die Maschine nur wissen muss, wieviele Bytes zu lesen sind, um an die Schlüsse "Amount", "currency" und die Werte "99.99", "EUR" zu kommen, die für den wahlfreien Zugriff dann innerhalb der Maschine verfügbar sind.

Dateien byteweise Lesen, das geht viel schneller als erst die Zeichen zu parsen und die Struktur wiederzuherstellen, welche die Beziehungen der Zeichen, aus denen erst Strings gemacht werden müssen, untereinander herstellt.

Perl, PHP, andere Programmiersprachen und mittlerweile auch Javascript können mit Bytes umgehen, so sind Zahlen, welche den Offset in einer Datei beinhalten nicht als Zahl dargestellt, sondern als Bytesequenz. Beispielsweise kann ein Byte die Zahlen 0..255 codieren. Bytes können aneinandergereiht werden in einer bestimmten Byte-Order (Big-, LittleEndian), so können mit 4 Byte (32 Bit) auch sehr große Zahlen in einer Datei abgebildet bzw. codiert werden.

Im Übrigen bin ich nicht der Einzige, der diesbezüglich entwickelt, aber wahrscheinlich der Erste, der auf seiner Website auch demonstriert, wie JavaScript und Perl über maschinenlesbare Sequenzen miteinander kommunizieren und dann auch noch die Grundlagen einer Low-Level-Serialisierung vermittelt.