Zum Inhalt springen

Bit- und Byte-Längenrechner - Kostenfreies Dateigrößen-Tool

Berechnen Sie Bit- und Byte-Längen für Ganzzahlen, Hexadezimal-Strings und Text mit UTF-8-, UTF-16- und ASCII-Kodierungen. Kostenloses Online-Tool für Entwickler, Datenwissenschaftler und Netzwerkingenieure.

Bit- und Byte-Längenrechner

Eingabetyp
Bits
8
Bytes
1

8 Bits = 1 Bytes

Visualisierung

Byte 1
11111111
0xFF
Ladekalkulator...
📚

Dokumentation

Was ist ein Rechner für Bit- und Bytelängen?

Ein Rechner für Bit- und Bytelängen ermittelt, wie viele Bits und Bytes ein Datenstück benötigt. Ein Bit ist eine einzelne Binärziffer, 0 oder 1. Ein Byte ist eine Gruppe aus 8 Bits. Der Rechner akzeptiert eine Ganzzahl, eine Hexadezimalzeichenfolge oder eine Textzeichenfolge und gibt die genaue Größe in beiden Einheiten an.

Das ist für die Programmierung, Netzwerke und Datenspeicherung wichtig. Eine Datenbankspalte, ein Netzwerkpaket und eine Datei auf einem Datenträger haben jeweils eine in Bytes gemessene Größe, die davon abhängt, wie die Daten geschrieben sind.

So wird die Bitlänge einer Ganzzahl berechnet

Die Bitlänge einer positiven Ganzzahl ist die Anzahl der Ziffern in ihrer Binärdarstellung. Zum Beispiel ist 255 im Binärsystem 11111111, was 8 Ziffern hat; die Bitlänge beträgt daher 8.

Formel: Für eine positive Ganzzahl n ist die Bitlänge die Anzahl der Ziffern in der Darstellung von n zur Basis 2. Der Sonderfall n = 0 hat eine Bitlänge von 1.

Negative Ganzzahlen verwenden das Zweierkomplement, die übliche Methode, mit der Computer vorzeichenbehaftete Zahlen speichern. Die Bitlänge einer negativen Ganzzahl ist die kleinste Anzahl von Bits, in der sie im Zweierkomplement dargestellt werden kann. Zum Beispiel passt −128 in 8 Bits (als 10000000), aber −129 benötigt 9 Bits, weil 8 Bits nur bis −128 reichen.

Sobald die Bitlänge bekannt ist, wird die Bytelänge durch Aufrunden auf das nächste vollständige Byte ermittelt:

Bytelänge = ⌈Bitlänge ÷ 8⌉

Das Symbol ⌈ ⌉ bedeutet „aufrunden“. Ein Wert mit 9 Bits benötigt weiterhin 2 vollständige Bytes, da ein Byte nicht geteilt werden kann.

Beispielrechnung

GanzzahlBitlängeBytelänge
011
25581
25692
−12881
−12992
18,446,744,073,709,551,615 (2⁶⁴ − 1)648

So wird die Bitlänge einer Hexadezimalzeichenfolge berechnet

Jede Hexadezimalziffer (0–9, A–F) entspricht genau 4 Bits, weil 4 Bits 16 mögliche Werte darstellen können.

Formel: Bitlänge = Anzahl der Hexadezimalziffern × 4. Die Bytelänge ergibt sich erneut aus der Bitlänge geteilt durch 8 und aufgerundet.

Die Hexadezimalzeichenfolge „FF“ hat beispielsweise 2 Ziffern, daher beträgt ihre Bitlänge 2 × 4 = 8 Bits oder 1 Byte. Die Hexadezimalzeichenfolge „ABCD“ hat 4 Ziffern und ergibt 16 Bits oder 2 Bytes. Leerzeichen und andere Leerraumzeichen werden vor dem Zählen entfernt. Auch eine ungerade Anzahl von Ziffern wird auf ein vollständiges Byte aufgerundet: „F“ entspricht 4 Bits, die der Rechner als 1 Byte angibt.

So wird die Bytelänge einer Textzeichenfolge berechnet

Bei Text hängt die Größe von der Zeichenkodierung ab, also von der Regel, nach der Zeichen in Bytes umgewandelt werden. Der Rechner unterstützt fünf Kodierungen:

  • UTF-8: eine Kodierung variabler Länge, die im gesamten Web verwendet wird. Jedes Zeichen benötigt 1 bis 4 Bytes. Einfache englische Buchstaben, Ziffern und Satzzeichen benötigen jeweils 1 Byte.
  • UTF-16: wird intern von JavaScript und Windows verwendet. Die meisten Zeichen benötigen 2 Bytes; Zeichen außerhalb der Basic Multilingual Plane, darunter viele Emojis, benötigen 4 Bytes.
  • UTF-32: eine Kodierung fester Länge. Jedes Zeichen benötigt unabhängig davon, um welches Zeichen es sich handelt, genau 4 Bytes.
  • ASCII: eine 7-Bit-Kodierung, die 128 Zeichen abdeckt, hauptsächlich englische Buchstaben, Ziffern und grundlegende Satzzeichen. Jedes Zeichen benötigt 1 Byte. Zeichen außerhalb dieses Zeichensatzes werden abgewiesen.
  • Latin-1 (ISO-8859-1): eine 8-Bit-Kodierung, die 256 Zeichen abdeckt und Akzentbuchstaben aus west­europäischen Sprachen ergänzt. Jedes Zeichen benötigt 1 Byte. Zeichen außerhalb dieses Zeichensatzes werden abgewiesen.

Formel: Bytelänge = Anzahl der Bytes, die die Kodierung für die Zeichenfolge erzeugt. Bitlänge = Bytelänge × 8.

Die Zählung bezieht sich ausschließlich auf den Text selbst. Es wird kein Byte-Order-Mark hinzugefügt; daher ist ein UTF-16- oder UTF-32-Wert hier 2 beziehungsweise 4 Bytes kleiner als der Wert eines Werkzeugs, das am Anfang eine Markierung schreibt.

Beispielrechnung

Der Text „Hello, world!“ hat 13 Zeichen, die sämtlich aus einfachen ASCII-Buchstaben und Satzzeichen bestehen.

  • UTF-8: 13 Bytes (104 Bits), da jedes Zeichen in 1 Byte passt.
  • UTF-16: 26 Bytes (208 Bits), da jedes Zeichen 2 Bytes benötigt.

Der Text „こんにちは世界“ (sieben japanische Zeichen) benötigt in UTF-8 pro Zeichen 3 Bytes, also insgesamt 21 Bytes (168 Bits).

Ein Emoji wie 😀 liegt außerhalb der Basic Multilingual Plane. In UTF-8 benötigt es 4 Bytes, in UTF-16 4 Bytes (als Ersatzzeichenpaar) und in UTF-32 4 Bytes.

Warum vorzeichenbehaftete Ganzzahlen das Ergebnis verändern

Computer speichern negative Zahlen mit dem Zweierkomplement statt mit einem einfachen Minuszeichen. Daher ist die Bitlänge einer negativen Ganzzahl nicht einfach die Bitlänge ihres Betrags plus eins. Die Regel lautet: Die Bitlänge ist die kleinste Anzahl von Bits k, sodass der Wert mindestens −2^(k−1) beträgt. Deshalb passt −128 (gleich −2⁷) in 8 Bits, während −129 9 benötigt.

Häufig gestellte Fragen

Wie werden Bytes in Bits umgerechnet? Mit 8 multiplizieren. Zehn Bytes entsprechen 80 Bits, da jedes Byte per Definition 8 Bits enthält.

Was ist der Unterschied zwischen Bitlänge und Bytelänge? Die Bitlänge zählt einzelne Binärziffern. Die Bytelänge zählt Gruppen von 8 Bits und wird auf das nächste vollständige Byte aufgerundet, wenn die Bitlänge kein Vielfaches von 8 ist.

Wie viele Bytes benötigt ein UTF-8-Zeichen? Zwischen 1 und 4. Mit ASCII gemeinsame Zeichen benötigen 1 Byte. Viele akzentuierte lateinische, griechische und kyrillische Zeichen benötigen 2 Bytes. Die meisten chinesischen, japanischen und koreanischen Zeichen benötigen 3 Bytes. Emojis und andere seltene Symbole benötigen 4 Bytes.

Wie wird die Bytelänge einer Hexadezimalzeichenfolge berechnet? Die Hexadezimalziffern werden nach dem Entfernen von Leerraum gezählt und mit 4 multipliziert, um die Bitanzahl zu erhalten; anschließend wird auf vollständige Bytes aufgerundet. Jedes Byte entspricht 2 Hexadezimalziffern, daher ist „FF“ 1 Byte und „ABCD“ 2 Bytes. Eine einzelne Ziffer wie „F“ entspricht 4 Bits und belegt dennoch 1 Byte.

Warum benötigt eine negative Ganzzahl manchmal mehr Bits als ihr positives Gegenstück? Das Zweierkomplement verwendet ein Bit zur Kennzeichnung des Vorzeichens. Dieses Bit wird jedoch mit dem Wertebereich geteilt, statt in jedem Fall zusätzlich hinzugefügt zu werden. −128 passt in dieselben 8 Bits wie positive Werte bis 127, aber −129 passt nicht mehr in 8 Bits und benötigt 9.

Welche Eingabegrößen akzeptiert dieser Rechner? Ganzzahlen, Hexadezimalzeichenfolgen und Textzeichenfolgen mit bis zu 1.000.000 Zeichen.

Referenzen

  1. "Character encoding." Wikipedia, Wikimedia Foundation. https://en.wikipedia.org/wiki/Character_encoding
  2. "UTF-8, UTF-16, UTF-32 & BOM." Unicode, Inc. https://www.unicode.org/faq/utf_bom.html
  3. "Two's complement." Wikipedia, Wikimedia Foundation. https://en.wikipedia.org/wiki/Two%27s_complement