Paul: Dateigröße variiert trotz selbem Inhalt

Moin,
habe zwei xml-Dateien.
Eine hat 4380 Zeilen und ca. 166.000 Zeichen. Diese Datei ist 172 KB groß.
Eine hat 3950 Zeilen und ca. 167.000 Zeichen. Diese Datei ist 343 KB groß.

Wie kommt dieser Speichergrößenunterschied zu stande?

Paul

  1. Guten Morgen!

    [...]
    Eine hat 4380 Zeilen und ca. 166.000 Zeichen. Diese Datei ist 172 KB groß.
    Eine hat 3950 Zeilen und ca. 167.000 Zeichen. Diese Datei ist 343 KB groß.

    Wie kommt dieser Speichergrößenunterschied zu stande?

    Vielleicht wird in der einen Datei pro Zeichen ein Byte verbraucht, in der anderen zwei (UTF-8 vs. UTF-16).

    Schöne Grüße,

    Peter

    1. Guten Morgen (again)!

      [...]
      Vielleicht wird in der einen Datei pro Zeichen ein Byte verbraucht, in der anderen zwei (UTF-8 vs. UTF-16).

      Ist wohl noch zu früh. Sorry, die Zahl 8 und 16 hat natürlich erst mal nichts mit der Länge eines Zeichens zu tun. Ich möchte deshalb den Inhalt der Klammern als ignorierenswert markieren.

      Schöne Grüße,

      Peter

      1. UTF-8 vs. UTF-16).

        Tatsache! die kleinere Datei ist UTF-8 und die größere UTF-16 LE.

        Warum nimmt man UTF-16?

        1. Hallo,

          Warum nimmt man UTF-16?

          wenn man 16 Bit braucht wird man 16 nehmen.

          Grüße, Matze

        2. Hi!

          UTF-8 vs. UTF-16).
          Warum nimmt man UTF-16?

          "Wenn man dadurch die Dateigröße verringern kann" ist eins der meines Erachtens weniger wichtigen Argumente. Wichtiger sehe ich, "wenn man sich bei der Be- und Verarbeitung Vorteile verschaffen kann". Oftmals wird intern statt mit variabler Länge mit der festen Größe von 2 Byte pro Zeichen gearbeitet (und Zeichen über U+10000 ignoriert, was für die meisten Belange ausreichend ist). Man spart sich dann Umkodierungen von und nach UTF-8. Aufgrund der Kompatibilität zu ASCII nimmt man im westlichen Kulturkreis jedoch lieber UTF-8 zum Speichern. Das bisschen Umkodieren bekommt moderne Rechentechnik im Handumdrehen hin.

          Lo!