Kolejność bajtów

Kolejność bajtów to termin z zakresu informatyki, który opisuje sposób przechowywania danych. Dokładniej określa, która część wielobajtowego typu danych zawiera najbardziej znaczące wartości. Istnieją dwa rodzaje kolejności bajtów: big-endian i little-endian.

Big-endian

Big-endian to najczęściej stosowany sposób przechowywania danych binarnych. Umieszcza najbardziej znaczącą (czyli największą) wartość jako pierwszą, a następnie mniej znaczące wartości. Na przykład reprezentacja liczby całkowitej 123 w kolejności big-endian umieszcza najpierw wartość setek (1), następnie wartość dziesiątek (2), a potem wartość jedności (3), czyli [123].

Little-endian

W kolejności little-endian najmniej znacząca wartość jest umieszczana jako pierwsza, a następnie wartości o coraz większym znaczeniu. Na przykład liczba 123 w zapisie little-endian to [321]. Ciąg znaków "ABC" jest reprezentowany jako [CBA].

Konwersja kolejności bajtów

W większości przypadków programiści nie muszą określać kolejności bajtów, ponieważ kompilator generuje właściwy typ danych dla konkretnej platformy. Program może jednak potrzebować przetwarzać dane wejściowe z zewnątrz, na przykład format pliku, który przechowuje dane w innej kolejności bajtów. W takim przypadku dane trzeba przekonwertować z kolejności little-endian na big-endian lub odwrotnie.

Konwersja kolejności bajtów nie polega po prostu na odwróceniu danych. Należy odwrócić bajty, a nie bity. Innymi słowy, każdy bajt (czyli blok ośmiu bitów) musi pozostać taki sam, ale kolejność bajtów ulega zmianie. Można to wyjaśnić za pomocą szesnastkowej lub binarnej reprezentacji danych.

Na przykład liczba całkowita 41 394 jest reprezentowana w kolejności big-endian jako:

szesnastkowo: A1B2
binarnie: 1010000110110010

Konwersja tych danych do kolejności little-endian nie polega na odwróceniu danych, lecz poszczególnych bajtów w danych. Zapis szesnastkowy używa dwóch cyfr do przedstawienia każdego bajtu – [A1][B2], natomiast zapis binarny używa ośmiu cyfr – [10100001][10110010].

Dlatego reprezentacja liczby 41 394 w kolejności little-endian wygląda tak:

szesnastkowo: B2A1
binarnie: 1011001010100001

NOTE: Niektóre procesory mogą pobierać dane zarówno w kolejności big-endian, jak i little-endian, bez konieczności konwersji. Nazywa się to dwukierunkowym dostępem do danych.

Zaktualizowano September 27, 2019 przez Per C.

quizSprawdź swoją wiedzę

A data transfer initiated by a server instead of a client is called what?

A
Shove
0%
B
Push
0%
C
Give
0%
D
Flex
0%
Correct! Incorrect!     View the Push definition.
More Quizzes →

Słownik komputerowy Tech Terms

Definicja Kolejność bajtów na tej stronie jest oryginalną definicją napisaną przez autorów TechTerms.com. Jeśli chcesz odwołać się do tej strony lub zacytować tę definicję, użyj zielonego paska cytowania bezpośrednio poniżej definicji.

Naszym celem jest wyjaśnianie terminologii komputerowej w prosty i zrozumiały sposób. Dążymy do dokładności i prostoty w każdej publikowanej definicji. Jeśli masz uwagi lub chcesz zaproponować nowy termin techniczny, skontaktuj się z nami.

Newsletter Tech Terms

Poszerzaj swoją wiedzę techniczną dzięki naszemu codziennemu lub tygodniowemu newsletterowi! Subskrybuj już dziś i otrzymuj nowe terminy oraz quizy prosto do skrzynki odbiorczej.

Zapisz się do bezpłatnego newslettera TechTerms

Jak często chcesz otrzymywać e-maile?

Możesz wypisać się lub zmienić częstotliwość w dowolnym momencie, korzystając z linków w każdym e-mailu. Pytania? Skontaktuj się z nami.

Uwaga: Newsletter jest wysyłany w języku angielskim.