Eine Seite, deren Buchstaben je ein Byte kosten

Eine Bank, die zwei Millionen Kontoauszüge pro Nacht druckt, bezahlt jedes Byte doppelt: einmal auf der Platte, auf der der Lauf aufbewahrt wird, einmal im Netz, durch das er reist. Ein Buchstabe wird normalerweise als Bytepaar in eine Datei geschrieben, denn so viel braucht es, um jeden Buchstaben jedes Alphabets der Welt zu erreichen. Ein französischer Kontoauszug braucht etwa hundert davon, und das zweite Byte ist bei jedem einzelnen Buchstaben des Laufs eine Null.

Auf Anweisung legt die Engine für jeden Buchstaben, den ein Dokument verwendet, eine eigene Nummer fest, schreibt deren Liste in die Datei, damit die Anzeigesoftware weiß, was sie vor sich hat, und braucht dann ein Byte pro Buchstabe statt zwei. Die Seite zeigt die drei Zeilen auf beide Weisen gezeichnet und druckt, was jede Weise ergab, gezählt beim Zeichnen der Seite. Sie endet mit dem, was der kurze Weg außer Platz bringt: Der Wortabstand wird zu etwas, das ein Dokument verbreitern kann, so wird Blocksatz gesetzt, und der lange Weg kann ihn nicht erreichen. Eine letzte Zeile, auf Kyrillisch, läuft über eine Tabelle mit Ein-Byte-Codes, benannt nach ihrer Norm, Windows-Codepage 1251, die Anzeigesoftware bereits kennt.

Was dieses Beispiel zeigt

  • Ein Byte pro Buchstabe statt zwei, in jeder Zeile des Laufs.
  • Die Datei trägt ihre eigene Liste dessen, wofür jede Nummer steht.
  • Der Wortabstand wird zu etwas, das eine Zeile verbreitern kann.

Der Quellcode, vollständig

Nichts ist weggelassen und nichts vereinfacht: Das ist das Programm genau so, wie es läuft, für den Entwickler, der diese Bibliothek nutzt. Die dritte ist die Beschreibung selbst: eine schlichte Liste dessen, was die Seite sagen muss, und das wird dem Dienst gesendet.

Den Rust-Quellcode lesen Den Python-Quellcode lesen Den JSON-Quellcode lesen

Das Dokument selbst

Das Dokument auf Englisch öffnen Das Dokument auf Französisch öffnen Das Dokument auf Deutsch öffnen Das Dokument auf Spanisch öffnen Das Dokument auf Italienisch öffnen Das Dokument auf Portugiesisch öffnen

Beispiele in der Nähe

Ein minimales PDF

Zwei identische Seiten, die die Struktur einer Rechnung mit Linien und Rechtecken zeichnen, ohne ein Wort Text: Die Datei hat etwa ein Dutzend Kilobyte und bettet keine Schrift ein.

Seite eins zeigen, bevor die Datei angekommen ist

Dasselbe Dokument zweimal geschrieben: einmal, wie es ist, einmal mit seiner ersten Seite am Anfang der Datei. Die Seite nennt für jedes der beiden die Zahl der Bytes, die ein Browser empfangen haben muss, bevor er Seite 1 zeigt.

Jedes Papierformat, auf eigener Seite

Eine Seite für jedes Papierformat, das die Bibliothek beim Namen kennt, von A0 bis A6 und die amerikanischen Formate, jede mit ihrer Größe in Millimetern und Zoll; dann quer oder kopfüber gelegte Seiten und ein zehn Meter langes Banner.

Die Datei verkleinern

Ein Dokument, zweimal geschrieben: einmal unkomprimiert, einmal komprimiert. Die Seite nennt beide Dateigrößen und was die Kompression gespart hat.

Jedes Beispiel, nach Thema