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
8 Bits = 1 Bytes
Visualisierung
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 ganze Zahlen verwenden das Zweierkomplement, die übliche Art, wie Computer Zahlen mit Vorzeichen speichern. Die Bitlänge einer negativen ganzen Zahl ist die kleinste Anzahl von Bits, die sie im Zweierkomplement darstellen kann. Zum Beispiel passt −128 in 8 Bits (als 10000000), aber −129 benötigt 9 Bits, denn eine vorzeichenbehaftete 8-Bit-Ganzzahl reicht von −128 bis 127.
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.
Beispiele
| Ganzzahl | Bitlänge | Bytelänge |
|---|---|---|
| 0 | 1 | 1 |
| 255 | 8 | 1 |
| 256 | 9 | 2 |
| −128 | 8 | 1 |
| −129 | 9 | 2 |
| 18,446,744,073,709,551,615 (2⁶⁴ − 1) | 64 | 8 |
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.
Zum Beispiel hat die Hex-Zeichenfolge „FF“ 2 Ziffern, ihre Bitlänge beträgt also 2 × 4 = 8 Bits oder 1 Byte. Die Hex-Zeichenfolge „ABCD“ hat 4 Ziffern, das ergibt 16 Bits oder 2 Bytes. Leerzeichen innerhalb der Zeichenfolge werden vor dem Zählen ignoriert.
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 Codierung variabler Länge, die im gesamten Web verwendet wird. Jedes Zeichen belegt 1 bis 4 Bytes. Einfache englische Buchstaben, Ziffern und Satzzeichen belegen je 1 Byte.
- UTF-16: wird intern von JavaScript und Windows verwendet. Jedes Zeichen besteht aus einer oder zwei 16-Bit-Einheiten. Die meisten Zeichen belegen 2 Bytes; Zeichen außerhalb der Basic Multilingual Plane, etwa viele Emojis, belegen 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-Codierung, die jedes Zeichen in einem 8-Bit-Byte speichert und 128 Zeichen abdeckt, hauptsächlich englische Buchstaben, Ziffern und grundlegende Satzzeichen. Jedes Zeichen belegt 1 Byte. Jedes Zeichen außerhalb dieses Satzes wird abgelehnt.
- Latin-1 (ISO-8859-1): eine 8-Bit-Kodierung, die 256 Zeichen abdeckt und Akzentbuchstaben aus westeuropä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.
Beispiele
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 Schriftzeichen) belegt 3 Bytes pro Zeichen in UTF-8, das ergibt 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 Surrogatpaar) 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? Multiplizieren Sie mit 8. 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 Hex-Zeichenfolge berechnet? Zählen Sie die Hex-Ziffern nach dem Entfernen der Leerzeichen, multiplizieren Sie mit 4, um die Bits zu erhalten, und teilen Sie dann durch 8 und runden Sie auf. „FF“ sind 1 Byte; „ABCD“ sind 2 Bytes. Eine ungerade Anzahl wie bei „ABC“ (12 Bits) benötigt dennoch 2 Bytes.
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
- Unicode, Inc. FAQ: UTF-8, UTF-16, UTF-32 & BOM. FAQ zur Unicode-Codierung – Jedes Zeichen besteht aus einem bis vier 8-Bit-Bytes in UTF-8, aus einer oder zwei 16-Bit-Codeeinheiten in UTF-16 oder aus einer einzigen 32-Bit-Codeeinheit in UTF-32.
- Internet Engineering Task Force. RFC 3629: UTF-8, a transformation format of ISO 10646. RFC 3629 – UTF-8 verwendet 1 bis 4 Oktette; U+0000–U+007F belegen 1 Byte, U+0080–U+07FF 2 Bytes, U+0800–U+FFFF 3 Bytes und U+10000 und höher 4 Bytes.
- Internet Engineering Task Force. RFC 20: ASCII format for network interchange. RFC 20 – Standard-ASCII mit 7 Bit, eingebettet in ein 8-Bit-Byte.
- Oracle. The Java Language Specification, Java SE 21, Chapter 4: Types, Values, and Variables. JLS-Kapitel 4 – byte ist eine vorzeichenbehaftete 8-Bit-Ganzzahl im Zweierkomplement mit dem Wertebereich −128 bis 127.