Czy mógłby ktoś wyjaśnić, nie do końca rozumiem koncepcję.
Co to jest tablica bajtów?
Gdzie i kiedy używamy go w aplikacjach / programach?
jakie są zalety i wady używania tablicy bajtów?
Czy mógłby ktoś wyjaśnić, nie do końca rozumiem koncepcję.
Co to jest tablica bajtów?
Gdzie i kiedy używamy go w aplikacjach / programach?
jakie są zalety i wady używania tablicy bajtów?
Odpowiedzi:
Bajt to 8 bitów (dane binarne).
Tablica bajtów to tablica bajtów (tautologia FTW!).
Możesz użyć tablicy bajtów do przechowywania kolekcji danych binarnych, na przykład zawartości pliku. Wadą tego jest to, że cała zawartość pliku musi zostać załadowana do pamięci.
W przypadku dużych ilości danych binarnych lepiej byłoby użyć typu danych strumieniowych, jeśli Twój język go obsługuje.
The downside to this is that the entire file contents must be loaded into memory.
?
Zakładam, że wiesz, co to jest bajt. Tablica bajtów to po prostu obszar pamięci zawierający grupę sąsiadujących (obok siebie) bajtów, dlatego warto mówić o nich w kolejności: pierwszy bajt, drugi bajt itd.
Tak jak bajty mogą kodować różne typy i zakresy danych (liczby od 0 do 255, liczby od -128 do 127, pojedyncze znaki przy użyciu ASCII, np. „A” lub „%”, kody operacyjne procesora), każdy bajt w tablicy bajtów może być dowolną z tych rzeczy lub przyczyniać się do niektórych wartości wielobajtowych, takich jak liczby z większym zakresem (np. 16-bitowa liczba int bez znaku od 0..65535), międzynarodowe zestawy znaków, ciągi tekstowe („hello”) lub część / wszystkie skompilowane programy komputerowe.
Kluczową cechą tablicy bajtów jest to, że zapewnia indeksowany (szybki), dokładny, surowy dostęp do każdej wartości 8-bitowej przechowywanej w tej części pamięci i można operować na tych bajtach, aby kontrolować każdy pojedynczy bit. Złe jest to, że komputer po prostu traktuje każdy wpis jako niezależną 8-bitową liczbę - która może być tym, z czym ma do czynienia twój program, lub możesz preferować jakiś potężny typ danych, taki jak ciąg, który śledzi swoją własną długość i rośnie w razie potrzeby lub liczbę zmiennoprzecinkową, która pozwala zapisać, powiedzmy, 3.14 bez zastanawiania się nad reprezentacją bitową. Jako typ danych nieefektywne jest wstawianie lub usuwanie danych w pobliżu początku długiej tablicy, ponieważ wszystkie kolejne elementy muszą być przetasowane, aby utworzyć lub wypełnić utworzoną / wymaganą lukę.
Z Wikipedii :
W informatyce struktura danych tablicowych lub po prostu tablica to struktura danych składająca się ze zbioru elementów (wartości lub zmiennych), z których każdy jest identyfikowany przez jeden lub więcej indeksów liczb całkowitych, przechowywanych w taki sposób, że adres każdego elementu można obliczyć na podstawie jego indeksu krotkę według prostego wzoru matematycznego.
Więc kiedy mówisz tablica bajtowa, masz na myśli tablicę o określonej długości (np. Liczba elementów), która zawiera zbiór elementów o rozmiarze bajtów (8 bitów).
W języku C # tablica bajtów mogłaby wyglądać następująco:
byte[] bytes = { 3, 10, 8, 25 };
Powyższy przykład definiuje tablicę 4 elementów, przy czym każdy element może mieć długość do jednego bajta .