Différence entre Big Endian et little Endian ordre des Octets
Quelle est la différence entre Big Endian et Little Endian ordre des Octets ?
Ces deux semblent être liées à Unicode et UTF16. Où exactement en faisons-nous?
- en.wikipedia.org/wiki/Endianness
- N'oubliez pas les MOYEN-endian. C'est sur la page du wiki.
- la même chose peut être dit pour n'importe quelle question.
- B: Oui, c'est possible, mais certaines questions sont mieux répondu par la poursuite de la recherche plutôt que d'un couple de réponses que certains experts a donné.
- Gros-boutiste et Little Endian vient seulement quand il y a un multi-octets de données.
- Bon résumé de vérifier ce lien queryhome.com/27383/endianness-and-byte-order
- Bien expliqué betterexplained.com/articles/...
Vous devez vous connecter pour publier un commentaire.
Big-Endian (ÊTRE) /Little-Endian (LE) sont deux façons d'organiser multi-octets mots. Par exemple, lors de l'utilisation de deux octets pour représenter un caractère en UTF-16, il y a deux façons de représenter le caractère
0x1234
comme une chaîne d'octets (0x00-0xFF):Afin de décider si un texte utilise l'UTF-16BE ou UTF-16LE, la spécification recommande d'ajouter un Marque d'Ordre d'Octet (BOM) à la chaîne de caractères représentant le caractère U+FEFF. Donc, si les deux premiers octets de l'codé en UTF-16 fichier texte sont
FE
,FF
, l'encodage est UTF-16BE. PourFF
,FE
, c'est de l'UTF-16LE.Un exemple visuel: Le mot "Exemple" dans les différents encodages (UTF-16 BOM):
Pour de plus amples informations, veuillez lire la page Wikipedia de Endianness et/ou UTF-16.
Ferdinand de réponse (et d'autres) sont corrects, mais de façon incomplète.
Big Endian (ÊTRE) /Little Endian (LE) n'ont rien à voir avec l'encodage UTF-16 ou UTF-32.
Ils existaient chemin avant d'Unicode, et affecter la façon dont les octets de numéros stockés dans la mémoire de l'ordinateur. Ils dépendent du processeur.
Si vous avez un certain nombre avec la valeur
0x12345678
alors en mémoire, il sera représenté comme12 34 56 78
(ÊTRE) ou78 56 34 12
(LE).UTF-16 et UTF-32 arriver à être représenté sur 2 respectivement 4 octets, de sorte que l'ordre des octets respecte l'ordonnancement que n'importe quel nombre qui suit sur cette plate-forme.
UTF-16 code Unicode dans des valeurs 16 bits. Plus les systèmes de fichiers modernes opèrent sur des octets de 8 bits. Donc, pour sauver une codé en UTF-16 fichiers sur le disque, par exemple, vous devez décider quelle partie de la valeur de 16 bits va dans le premier octet, et qui va dans le deuxième octet.
Wikipédia a une explication plus complète.
little-endian: adj.
Décrit une architecture d'ordinateur dans lequel, au sein d'une donnée de 16 ou mot de 32 bits, octets à l'adresse inférieure ont moins d'importance (le mot est stocké ‘petit-fin-d'abord"). Le PDP-11 et VAX des familles des ordinateurs et des microprocesseurs Intel et beaucoup de communication et de matériel de réseau sont little-endian. Le terme est parfois utilisé pour décrire l'ordre des unités autres que les octets; le plus souvent, le nombre de bits dans un octet.
big-endian: adj.
[commune; à Partir de Swift, les Voyages de Gulliver par le fameux livre Sur les Guerres Saintes et un Plaidoyer pour la Paix par Danny Cohen, USC/ISI IEN 137, datée du 1er avril 1980]
Décrit une architecture d'ordinateur dans lequel, au sein d'un multi-octets représentation numérique, l'octet le plus significatif est l'adresse la plus basse (le mot est stocké le "big-fin-d'abord"). La plupart des processeurs, y compris les IBM 370 de la famille, le PDP-10, le microprocesseur Motorola familles, et de la plupart des RISC dessins sont big-endian. Big-endian ordre des octets est également parfois appelé réseau de commande.
---à partir du Jargon File: http://catb.org/~esr/jargon/html/index.html
Big-endian et little-endian sont des termes qui décrivent l'ordre dans lequel une séquence d'octets sont stockés dans la mémoire de l'ordinateur.
1. Big-endian est un ordre dans lequel le "gros bout" (la plus grande valeur dans la séquence) est enregistré en premier (au plus bas de stockage de l'adresse).
2. Little-endian est un ordre dans lequel le "petit bout" (le moins significatif de la valeur dans la séquence) est enregistré en premier.
Par exemple
Dans un big-endian ordinateur, les deux octets requis pour le nombre hexadécimal
4F52
est stockée en tant que4F52
dans le stockage(if 4F is stored at storage address 1000, for example, 52 will be at address 1001).
En little-endian système, elle est stockée en tant que
524F (52 at address 1000, 4F at 1001).
Octet endianness (grand ou petit) doit être spécifié pour les caractères Unicode/UTF-16, parce que les codes de caractères qui utilisent plus d'un octet, il y a un choix de lecture/écriture de la octet le plus significatif en premier ou en dernier. Unicode/UTF-16, car ils sont de longueur variable codages (c'est à dire chaque caractère peut être représenté par un ou plusieurs octets) besoin de cela pour être spécifiée. (À noter toutefois que l'UTF-8 "mots" sont toujours 8 bits/un octet de longueur [bien que les caractères peuvent être multiples points], donc il n'y a pas de problème avec l'endianness.) Si le codeur d'un flux d'octets représentant de texte Unicode et le décodeur ne sont pas d'accord sur lequel la convention est en train d'être utilisé, le mauvais caractère de code peut être interprété. Pour cette raison, soit de la convention de l'endianness est connu d'avance ou plus communément un marque d'ordre d'octet est généralement spécifié au début d'un fichier texte Unicode/stream pour indiquer whethere big ou little endian commande est prête à être utilisée.