web-dev-qa-db-fra.com

Qu'entendons-nous par tableau d'octets?

Quelqu'un pourrait-il expliquer s'il vous plaît, je ne comprends pas exactement

Qu'est-ce qu'un tableau d'octets
Où et quand nous l'utilisons dans des applications/programmes
quels sont les avantages et les inconvénients de l'utilisation d'un tableau d'octets

92
daydreamer

Un octet est de 8 bits (données binaires).

Un tableau d'octets est un tableau d'octets (tautologie FTW!).

Vous pouvez utiliser un tableau d'octets pour stocker une collection de données binaires, par exemple le contenu d'un fichier. L'inconvénient est que tout le contenu du fichier doit être chargé en mémoire.

Pour les grandes quantités de données binaires, il serait préférable d'utiliser un type de données en continu si votre langue le prend en charge.

65
Phil

Je suppose que vous savez ce qu'est un octet. Un tableau d'octets est simplement une zone de mémoire contenant un groupe d'octets contigus (côte à côte), de sorte qu'il est judicieux d'en parler dans l'ordre: le premier octet, le deuxième octet, etc.

De même que les octets peuvent coder différents types et plages de données (nombres de 0 à 255, nombres de -128 à 127, caractères uniques utilisant ASCII par exemple, 'a' ou '%', codes), chaque octet dans un tableau d'octets peut être quelconque ou contribuer à certaines valeurs multi-octets telles que les nombres avec une plage plus grande (par exemple 16 bits unsigned int de 0..65535), jeux de caractères internationaux, chaînes textuelles ("bonjour"), ou tout/partie d’un programme informatique compilé.

L’important dans un tableau d’octets est qu’il donne un accès brut, indexé (rapide) à chaque valeur de 8 bits stockée dans cette partie de la mémoire, et que vous pouvez utiliser ces octets pour contrôler chaque bit. Le problème, c’est que l’ordinateur traite chaque entrée comme un nombre indépendant sur 8 bits - ce qui peut correspondre à ce que votre programme traite, ou vous pouvez préférer un type de données puissant, tel qu’une chaîne qui garde la trace de sa propre longueur et s’allonge. selon les besoins, ou un nombre à virgule flottante qui vous permet de stocker 3.14 sans penser à la représentation en bits. En tant que type de données, il est inefficace d'insérer ou de supprimer des données au début d'un tableau long, car tous les éléments suivants doivent être réorganisés pour créer ou combler le vide créé/requis.

47
user433534

De wikipedia :

En informatique, une structure de données matricielle ou simplement un tableau est une structure de données constituée d'un ensemble d'éléments (valeurs ou variables), chacun étant identifié par un ou plusieurs indices entiers, stockés de manière à ce que l'adresse de chaque élément puisse être calculée à partir de son index. Tuple par une formule mathématique simple.

Ainsi, lorsque vous parlez de tableau d'octets, vous faites référence à un tableau de longueur définie (nombre d'éléments, par exemple) contenant une collection d'éléments de taille octet (8 bits).

En C #, un tableau d'octets pourrait ressembler à ceci:

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

L'exemple ci-dessus définit un tableau de 4 éléments, chaque élément pouvant avoir une longueur maximale de octet .

10
Miguel Sevilla