webentwicklung-frage-antwort-db.com.de

Was verstehen wir unter Byte-Array?

Könnte mir bitte jemand erklären, ich verstehe es nicht genau

Was ist ein Byte-Array?
Wo und wann wir es in Anwendungen/Programmen verwenden
Welche Vor- und Nachteile hat die Verwendung eines Byte-Arrays?

92
daydreamer

Ein Byte besteht aus 8 Bits (Binärdaten).

Ein Bytearray ist ein Array von Bytes (Tautologie FTW!).

Sie können ein Byte-Array verwenden, um eine Sammlung von Binärdaten zu speichern, z. B. den Inhalt einer Datei. Der Nachteil dabei ist, dass der gesamte Dateiinhalt in den Speicher geladen werden muss.

Für große Mengen von Binärdaten ist es besser, einen Streaming-Datentyp zu verwenden, wenn Ihre Sprache dies unterstützt.

65
Phil

Ich gehe davon aus, dass Sie wissen, was ein Byte ist. Ein Bytearray ist einfach ein Speicherbereich, der eine Gruppe zusammenhängender (nebeneinander liegender) Bytes enthält, so dass es sinnvoll ist, in der angegebenen Reihenfolge darüber zu sprechen: das erste Byte, das zweite Byte usw.

Ebenso wie Bytes verschiedene Datentypen und Datenbereiche codieren können (Zahlen von 0 bis 255, Zahlen von -128 bis 127, einzelne Zeichen mit ASCII zB 'a' oder '%', CPU-Betrieb Codes) kann jedes Byte in einem Byte-Array eines dieser Dinge sein oder zu einigen Multi-Byte-Werten beitragen, wie Zahlen mit größerem Bereich (z. B. 16-Bit-Int. ohne Vorzeichen von 0..65535), internationale Zeichensätze, Textzeichenfolgen ("Hallo") oder ein Teil/alle kompilierten Computerprogramme.

Das Entscheidende an einem Byte-Array ist, dass es einen indizierten (schnellen), präzisen Rohzugriff auf jeden 8-Bit-Wert gibt, der in diesem Teil des Speichers gespeichert ist. Sie können diese Bytes bearbeiten, um jedes einzelne Bit zu steuern. Das Schlimme ist, dass der Computer jeden Eintrag einfach als eine unabhängige 8-Bit-Zahl behandelt - mit der sich Ihr Programm möglicherweise befasst, oder Sie bevorzugen einen leistungsfähigen Datentyp, z. B. eine Zeichenfolge, die die eigene Länge verfolgt und wächst nach Bedarf oder eine Gleitkommazahl, mit der Sie beispielsweise 3.14 speichern können, ohne über die bitweise Darstellung nachzudenken. Als Datentyp ist es ineffizient, Daten in der Nähe des Anfangs eines langen Arrays einzufügen oder zu entfernen, da alle nachfolgenden Elemente gemischt werden müssen, um die entstandene/erforderliche Lücke zu schließen oder zu füllen.

47
user433534

Aus Wikipedia :

In der Informatik ist eine Array-Datenstruktur oder einfach ein Array eine Datenstruktur, die aus einer Sammlung von Elementen (Werten oder Variablen) besteht, die jeweils durch einen oder mehrere ganzzahlige Indizes gekennzeichnet sind und so gespeichert sind, dass die Adresse jedes Elements aus seinem Index berechnet werden kann Tuple mit einer einfachen mathematischen Formel.

Wenn Sie also Byte-Array sagen, beziehen Sie sich auf ein Array mit einer definierten Länge (z. B. Anzahl der Elemente), das eine Sammlung von Elementen mit Byte-Größe (8 Bit) enthält.

In C # könnte ein Byte-Array so aussehen:

byte[] bytes = { 3, 10, 8, 25 };

Das obige Beispiel definiert ein Array von 4 Elementen, wobei jedes Element eine Länge von bis zu Byte haben kann.

10
Miguel Sevilla