Uniadmin
Skip to content

Die Vermessung der Buddenbrooks

Seit Jahresbeginn sind nun sämtliche Werke von Thomas Mann gemeinfrei und mittlerweile auch beim Gutenberg-Projekt für Deutsche IPs abrufbar. Hier zum Beispiel die Buddenbrooks, die, wie ich finde, Thomas Manns bestes Werk sind, ein Jahrhundertroman oder gar ein Jahrtausendroman, für den Thomas Mann, völlig zu Recht, den Literaturnobelpreis erhalten hat.
Thomas Mann selbst allerdings war damit nicht ganz zufrieden, er hätte den Nobelpreis lieber für den Zauberberg erhalten, weil er dieses Werk für das reifere hielt.
Ich hab beide gelesen, und hätte ich den Nobelpreis vergeben müssen, dann auch für die Buddenbrooks, obgleich der Zauberberg ebenfalls ein außergewöhnliches Buch ist.

Gemein haben die großen Romane von Thomas Mann miteinander, seien es die Buddenbrooks, Doktor Faustus oder der Zauberberg, daß sie ordentliche Wälzer sind, doch die Buddenbrooks zeichnet noch aus, daß viele im Abitur diesen Schinken lesen mußten und das Werk daher kennen, aber aufgrund der Umstände, daß es Pflichtlektüre war, nicht ganz so angenehm in Erinnerung haben.

Gerade deshalb habe ich die Buddenbrooks immer gerne herangezogen, um anderen oder auch mir selbst die Dimensionen von RAM, Festplatten, USB-Sticks oder auch Download-Geschwindigkeiten bildhaft vorzuführen. Dabei ging ich immer grob vor, schätzte, die Buddenbrooks brauchen ein Megabyte Speicherplatz, womit ich der Sekretärin, die Mitte der 90er einen einseitigen Brief schreiben und ausdrucken wollte und glaubte, zu wenig RAM zu haben, erklären konnte: Dein PC hat 4 Megabyte RAM, da passen 4 Mal die Buddenbrooks rein, weißt du wie viele Seiten dieser Klopper hat? Über 800 Seiten! Und du willst grade mal eine einzige Seite schreiben. Du hast nicht zu wenig RAM! Anfang der Nuller Jahre waren bald 4 Gigabyte normal, es paßten schon 4000 Buddenbrooks in den RAM, und die Sekretärinnen jammerten immer noch, wenn sie einen einseitigen Brief schreiben und ausdrucken wollten.

Und wie viele Buddenbrooks passen heute auf ein Smartphone?

Ich möchte es nun einmal genauer ausrechnen, lade mir dazu die Buddenbrooks von der Gutenberg-Seite als Textversion herunter und lasse mir die Größe der Datei anzeigen:

$ wget -O buddenbrooks.txt -q https://www.gutenberg.org/ebooks/34811.txt.utf-8
$ ls -l buddenbrooks.txt
-rw-r--r--. 1 tube tube 1602358 Jan 30 21:14 buddenbrooks.txt
$

Die Datei hat 1.602.358 Byte, das sind rund 1564,8 Kilobyte oder 1,528 Megabyte.
Damit es klar ist: Ein Kilobyte (1 KB) sind 1024 Byte und ein Megabyte (1 MB) sind 1024 Kilobyte. Mitte der 90er kamen einige Festplattenhersteller auf die Idee, ihre Festplatten zu "vergrößern", indem sie ein Kilobyte (1 KB) mit 1000 Bytes, sowie ein Megabyte mit 1000 1000er-Kilobyte gleichsetzten und damit "mehr" Speicherkapazität für ihre Platten nennen konnten.
Die Verwirrung, die sie damit angestiftet haben, hält bis heute an und wurde verstärkt durch Leute, die der Verwirrung entgegentreten wollten und sich solch Quatsch wie 1 KiB als Maßeineinheit für 1024 Bytes überlegt haben, was "Kibibyte" ausgesprochen werden soll. Das erinnert eher an einen Fancy Drink, etwas mit Kirsch-Birne, aber nicht an 1024 Byte, also ein Kilobyte.
Was immer sie auch sagen und behaupten, KB sei SI-genormt, was auch immer, ein Kilobyte, 1 KB oder auch 1K, das sind 1024 Bytes.

Da der heruntergeladene Text noch einen Vor- und Nachspann vom Gutenberg-Projekt sowie einige Anmerkungen enthält, öffne ich die Datei mit einem Editor und entferne die Informationen, die nicht zum Roman gehören:

$ vi buddenbrooks.txt
# bearbeiten ... bearbeiten ... bearbeiten ... :wq
$ ls -l buddenbrooks.txt
-rw-r--r--. 1 tube tube 1569314 Jan 30 21:21 buddenbrooks.txt
$

Allein auf den Inhalt von Thomas Mann reduziert, hat die Datei jetzt eine Größe von nur noch rund 1,497 MB.
Allerdings ist das immer noch zu viel, denn die heruntergeladene Datei ist MS-DOS formatiert, enthält also \r\n statt \n für neue Zeilen. Wir konvertieren die Buddenbrooks nach Unix.

$ sed -i 's/\r$//' buddenbrooks.txt

Weiterhin entfernen wir noch alle '\n\n', womit in dem Dokument Absätze markiert werden, außerdem ersetzen wir ... durch die typografische Ellipse, und '--' , womit im Dokument ein Gedankenstrich gekennzeichnet wird, durch das UTF8-Zeichen für den Gedankenstrich.

$ sed -i ':a;N;$!ba;s/\n\n/\n/g' buddenbrooks.txt
$ sed -i 's/\.\.\./…/g' buddenbrooks.txt
$ sed -i 's/--/–/g' buddenbrooks.txt
$ ls -l buddenbrooks.txt
-rw-r--r--. 1 tube tube 1539588 Jan 30 21:35 buddenbrooks.txt
$

Die Datei hat jetzt nur noch rund 1,468 Megabyte, und wir können einmal die Zeilen zählen:

$ cat buddenbrooks.txt | wc -l
23389
$

Die Datei is mit maximal 80 Zeichen pro Zeile formatiert, soviel bekommt man auch mit einer Schreibmaschine auf eine A4-Seiten-Zeile. Falls Thomas Mann diesen Roman mit einer Schreibmaschine geschrieben hat, hätte er mehr als dreiundzwanzigtausend mal den Wagen zurück geschoben.

Nun wird es noch etwas theoretisch, wir zählen nämlich einmal die Anzahl aller unterschiedlichen Zeichen, die in dem Roman verwendet werden:

$ fold -w1 buddenbrooks.txt | sort -u | wc -l
100

Es sind genau 100 unterschiedliche Zeichen.
Wir können uns diese auch anzeigen lassen:

fold -w1 buddenbrooks.txt | sort -u | tr -d '\n'
 !&'()*,-.:;=?_` «´»–…01½¼23456789aAáàäÄbBcCçdDeEéèêfFgGhHiIîjJkKlLmMnNoOöÖpPqQrRsSßtTuUüÜvVwWxXyzZ

Und weil es so viel schöner aussieht, hier noch mal sämtliche Zeichen aus den Buddenbrooks zentriert und fett:

!&'()*,-.:;=?_` «´»–…01½¼23456789
aAáàäÄbBcCçdDeEéèêfFgGhHiIîj
JkKlLmMnNoOöÖpPqQrRsSßtTu
UüÜvVwWxXyzZ

Der Grund, daß wir die unterschiedlichen Zeichen gezählt haben ist, daß UTF einige Zeichen in 2 oder mehr Bytes unterbringt und dadurch die Datei unnötig aufbläht. Da für die Buddenbrooks aber nur 100 verschiedene Zeichen benötigt werden, brauchen wir bei geeigneter Kodierung für jedes Zeichen maximal ein Byte.

Zählen wir die Zahl der Zeichen insgesamt, kommen wir auf 1474372 Zeichen.

$ fold -w1 buddenbrooks.txt | wc -l
1474372

Wenn wir für jedes Zeichen also ein Byte verwenden, wäre unsere Datei nur noch rund 1,4 Megabyte groß, allerdings, da es nur 100 verschiedene Zeichen in den Buddenbrooks gibt, könnten wir ein Zeichen bereits in 7 Bits speichern, womit wir nur noch 14743727/81474372 \cdot 7/8 Bytes benötigen, also 1290076 Bytes, was etwa 1,23 MB sind.
Würden wir jetzt noch mit längenvariablen Codes arbeiten, indem wir häufig verwendete Buchstaben wie das E oder das R in nur 2 oder 3 Bits kodieren, andere, seltenere Zeichen dafür in 8 Bits, dürften wir wahrscheinlich auf etwa 1 Megabyte kommen. Eine (mathematisch bewiesene) optimale längenvariable Kodierung läßt sich mit dem Algorithmus von Huffman erreichen, wobei man die längenvariablen Codes nicht auf einzelne Zeichen beschränken muß, man könnte sie auch auf ganze Wörter anwenden.
Machen wir es kurz:

$ gzip buddenbrooks.txt
$ ls -l buddenbrooks.txt.gz 
-rw-r--r--. 1 tube tube 607647 Jan 30 22:04 buddenbrooks.txt.gz
$

Wir können die Buddenbrooks auf rund 593 Kilobyte komprimieren, was auch zu erwarten war, denn 640 Kilobytes should be enough for anyone.

Damit liegen wir also völlig richtig, wenn wir grob für den Alltag annehmen: Zum Speichern der Buddenbrooks wird 1 Megabyte benötigt, je nach Kodierungsart und Kompression.

Damit lassen sich auf einem aktuellen Smartphone, z.B. dem iPhone 17 mit 256 Gigabyte 262144 Buddenbrooks von Thomas Mann unterbringen. So viele Buddenbrooks kannst du heutzutage in deiner Hosentasche mit dir herumtragen.

Und wenn man die Bücher alle übereinander stapeln würde?
Rechnen wir es aus.
Dazu messe ich die Dicke meiner Ausgabe der Buddenbrooks mit dem Meßschieber, was unter Berücksichtgung des Nonius ziemlich genau 4,455 Zentimeter ergibt.

262144 Exemplare davon aufeinander gestapelt, hätten eine Höhe von rund 11,5 Kilometern. (1 Kilometer = 1000 Meter)

So hoch fliegen Passagierflugzeuge, das ist höher als der Mount Everest.
Alles in deiner Hosentasche.

Tags: Buddenbrooks, Thomas Mann, Literatur, 640 Kilobyte, Klassiker, Jahrhundertroman, Speicherplatz, Kompression, Dateigröße, gzip, RAM, Nobelpreis, Digitalisierung, Gutenberg

    Schreib einen Kommentar