Wat is een byte-array?
Een opeenvolgende reeks variabelen van het gegevenstype byte, in computerprogrammering, staat bekend als een bytearray. Een array is een van de meest elementaire gegevensstructuren en een byte is het kleinste standaard scalaire type in de meeste programmeertalen. Een byte-array kan van onschatbare waarde zijn bij het lezen van bestanden die zijn opgeslagen in een onbekend of willekeurig binair formaat, of wanneer een grote hoeveelheid gegevens efficiënt moet worden opgeslagen om geheugen te besparen. Er zijn ook enkele gevallen waarin een bytearray kan worden gebruikt om stringgegevens op te slaan om het geheugengebruik laag te houden. Het gebruik van een byte-array kan leiden tot enkele optimalisaties waardoor toegang tot en het wijzigen van informatie in de array sneller kan zijn dan bij arrays van andere typen.
De standaarddefinitie van een byte is een gegevenstype dat 8 bits bevat. Met 8 bits kan een byte waarden bevatten tussen nul en 255. Als de byte is ondertekend, wat betekent dat het ook negatieve waarden kan bevatten, is een bit gewijd aan het aangeven van de positieve of negatieve eigenschap van de byte, waardoor slechts 7 bits overblijven waarin om informatie op te slaan. Een ondertekende byte kan een waarde tussen -127 en 127 hebben.
De grootte van een byte is echter niet altijd op dezelfde manier geïmplementeerd in bepaalde computertalen. Dit kan het gevolg zijn van een gebrek aan details in de taalspecificaties, of vanwege veranderende systeemarchitecturen waarin een 8-bits byte niet mogelijk is, of ongelooflijk inefficiënt. Het gebruik van een byte in een array betekent niet altijd dat het een reeks van 8-bits bytes zal zijn. Op sommige systemen kan een bytearray eenvoudig worden samengesteld uit woorden met 16 bits of lange gehele getallen met 32 bits.
Een byte is meestal het kleinste scalaire gegevenstype dat beschikbaar is in een taal, dus ze kunnen worden gebruikt om binaire bestanden in te lezen voor decodering. Een byte-array kan in bepaalde gevallen ook worden gebruikt om vooraf geconstrueerde beeldinformatie door te geven aan een grafische kaart. Er zijn functies in sommige bibliotheken in computertalen op een lager niveau die byte-arrays gebruiken als retourtypen voor informatie.
Nadat een bytearray in het geheugen is toegewezen, is het mogelijk om enkele optimalisaties te gebruiken om de toegangssnelheid te verhogen. Door arrays te maken met grootten van twee, zoals 16, 32 of 64, kunnen bit-shifting-bewerkingen worden gebruikt om de snelheid van het berekenen van een geïndexeerd adres te verhogen, wat vooral handig kan zijn bij het omgaan met multidimensionale arrays. In talen met directe pointertoegang kan een array worden doorlopen met behulp van de zeer snelle increment en decrement-operators.