Słownik

Czym jest flaga bitowa?

Flaga bitowa, znana też jako pole bitowe, to metadane, które można znaleźć w różnych typach plików. Dowiedz się, co oznacza, skąd się wzięła i co mówi o Twoim pliku.

bit-flag

Flaga bitowa zapisuje kilka odpowiedzi „tak lub nie” w jednej liczbie. Każda cyfra binarna w tej liczbie to osobny przełącznik: włączony lub wyłączony, ustawiony lub nie. To zwięzły sposób, w jaki program zapisuje garść drobnych informacji w jednym polu wartości.

Skąd pochodzi wartość

Flagi bitowe, zwane też polami bitowymi, pochodzą z programowania. W językach takich jak C i C++ pozwalają programiście przechowywać wiele wartości logicznych w jednym bajcie lub zestawie bajtów, przy czym każdy bit lub grupa bitów ma własny adres. Format pliku wykorzystuje ten sam pomysł, aby zapisać opcje opisujące jego zawartość.

W raporcie metadanych najczęściej spotkasz flagę bitową przy archiwum ZIP oraz przy formatach Office, które pod spodem też są kontenerami ZIP: dokumentach DOCX, XLSX i PPTX. Pliki ODT i e‑booki EPUB też zapisują tę flagę, ale raport może jej nie pokazywać. Format ZIP przypisuje każdemu elementowi w archiwum flagę bitową ogólnego zastosowania, a ustawia ją program, który utworzył archiwum. Nikt nie wpisuje tej wartości ręcznie.

Jak odczytać wartość

Flaga jest na ogół pokazywana w systemie szesnastkowym, który liczy w szesnastkach i zapisuje liczby z poprzedzającym 0x. Wartość 0x0 oznacza, że żaden przełącznik nie jest ustawiony, co jest sytuacją zwykłą. Wartości takie jak 0x2 czy 0x808 oznaczają, że jeden lub więcej bitów jest włączonych, a ich znaczenie odczytujesz, zamieniając tę liczbę na zapis binarny i patrząc na każdy bit z osobna.

W przypadku ZIP warto znać trzy przełączniki:

  • pierwszy bit oznacza, że pozycja jest zaszyfrowana, czyli wymaga hasła
  • czwarty bit oznacza, że rozmiar i suma kontrolna pozycji zostały zapisane po danych, a nie przed nimi, co dzieje się, gdy archiwum jest tworzone „w locie”
  • dwunasty bit oznacza, że nazwa pozycji jest zapisana w UTF-8, kodowaniu znaków, które może reprezentować znaki diakrytyczne, pisma nielatyniczne i emoji

Dlaczego ma to znaczenie dla Twojego pliku

Flaga wyjaśnia zachowanie, które w przeciwnym razie byłoby zagadkowe. To w niej dokument chroniony hasłem ogłasza, że jest zablokowany, zanim jakikolwiek program poprosi o hasło. To też powód, dla którego niektóre aplikacje nie potrafią podać rozmiaru pozycji w archiwum, dopóki jej nie wypakują. I powód, dla którego nazwy plików z polskimi znakami lub chińskimi znakami w jednym programie do rozpakowywania wyglądają poprawnie, a w innym jako ciąg znaków nie do odczytania: jeden respektuje przełącznik UTF-8, a drugi zakłada starsze kodowanie.

To pole nie opisuje jednak jakości pliku i nie zawiera żadnych danych osobowych. To techniczna informacja o tym, jak plik został zapisany, przydatna wtedy, gdy coś się nie otwiera i chcesz wiedzieć, dlaczego.