• Programowanie
  • Bajt i bit - co oznaczają i ile zajmuje znak UTF-8?

Bajt i bit - co oznaczają i ile zajmuje znak UTF-8?

Tymoteusz Maciejewski • 14 października 2026
Różne kodowania znaków (np. UTF-8, Windows-1250) wpływają na to, jak interpretowane są bajty, tworząc "krzaki" zamiast polskich liter.

Spis treści

W logu serwera widzisz rozmiar pliku w bajtach, a w opisie pamięci telefonu pojawiają się gigabajty. Bajt to zwykle grupa ośmiu bitów, choć przy pracy z tekstem liczba bajtów nie zawsze odpowiada liczbie znaków.

Bajt łączy osiem bitów, ale nie zawsze oznacza jeden znak

  • 1 bajt = 8 bitów.
  • Bit przyjmuje wartość 0 albo 1, a bajt grupuje osiem takich wartości.
  • Wielka litera B oznacza bajt, a mała b - bit.
  • UTF-8 używa od 1 do 4 bajtów na znak, zależnie od znaku.
  • kB i KiB oznaczają różne wielkości.

Bajt to osiem bitów, z których komputer buduje dane

Wyobraź sobie osiem małych przełączników, z których każdy może być w pozycji 0 albo 1. Każdy przełącznik odpowiada jednemu bitowi, a cała ósemka tworzy bajt, czyli wygodną porcję danych używaną przy zapisie i odczycie informacji.

Osiem bitów pozwala zapisać 256 różnych układów, od 00000000 do 11111111. W typowej interpretacji bez znaku odpowiadają one liczbom od 0 do 255. Definicję bajtu jako ciągu ośmiu bitów podaje glosariusz NIST.

Duża litera B może zmienić odczyt transferu osiem razy

W opisie połączenia internetowego szybkość często zapisuje się w bitach na sekundę, a rozmiar pliku w bajtach. Małe „b” oznacza bit, duże „B” bajt, więc 8 Mb/s odpowiada teoretycznie 1 MB/s przed uwzględnieniem narzutu protokołów i innych warunków sieci.

To częste źródło pomyłki przy porównywaniu prędkości łącza z szybkością pobierania. Jeśli licznik pokazuje MB/s, a oferta operatora Mb/s, porównuj te same jednostki, zamiast zakładać, że liczby powinny być identyczne.

Jeden znak tekstu może zajmować kilka bajtów

Osiem bitów nie oznacza jednego znaku. Bajt opisuje ilość danych, a kodowanie określa, jak te dane zamieniają się na znaki. W UTF-8 znak może zajmować od jednego do czterech bajtów, co opisuje dokumentacja MDN dotycząca UTF-8.

Przykładowo tekst „Aą” zapisany w UTF-8 zajmuje 3 bajty: „A” jeden, a „ą” dwa. To przydatna wskazówka przy limitach długości pól, rozmiarze plików tekstowych i analizie żądań API. Liczba znaków i liczba bajtów to różne pomiary, więc limit 20 znaków nie musi oznaczać limitu 20 bajtów.

Uważam, że właśnie ten przykład najlepiej porządkuje intuicję: bajt jest porcją zapisu, a nie gotowym symbolem widocznym na ekranie.

kB i KiB nie oznaczają dokładnie tej samej pojemności

Rozmiary plików i pamięci potrafią się różnić między etykietą produktu a wskazaniem systemu. Przyczyną bywa sposób liczenia przedrostków: kB oznacza 1000 bajtów, a KiB 1024 bajty. Tę różnicę i nazwy przedrostków binarnych opisuje zestawienie NIST dotyczące przedrostków binarnych.

Podobnie MB to 1 000 000 bajtów, natomiast MiB to 1 048 576 bajtów. To nie usterka dysku ani brakujące dane: porównujesz pojemność podaną w systemie dziesiętnym z odczytem korzystającym z jednostek binarnych.

Dobierz jednostkę do tego, co właśnie mierzysz

Jednostka podpowiada, jak czytać daną wartość. Przy transferze patrz na bity na sekundę, przy rozmiarze pliku na bajty, a przy analizie tekstu sprawdź kodowanie i limit bajtów.

SytuacjaCo oznacza wartośćCo zrobić
Oferta internetu podaje Mb/sPrędkość w megabitach na sekundęPodziel wartość przez osiem, by uzyskać teoretyczne MB/s
Plik ma rozmiar w kB lub MBPrzedrostek dziesiętnySprawdź, czy system pokazuje tę samą jednostkę
Limit pola API podano w bajtachDługość zakodowanego zapisuUwzględnij kodowanie, bo znaki mogą mieć różną długość

Gdy następnym razem zobaczysz wartość w bajtach, zapytaj najpierw, czy opisuje plik, transfer czy tekst. Ta drobna różnica pozwala uniknąć wielu pomyłek w kodzie i przy codziennym korzystaniu z technologii.

FAQ - Najczęstsze pytania

Jeden bajt ma 8 bitów. Ponieważ każdy bit przyjmuje wartość 0 albo 1, bajt może reprezentować 256 różnych układów, od 00000000 do 11111111, czyli w typowej interpretacji bez znaku liczby od 0 do 255.

Małe b oznacza bit, a wielkie B bajt. Dlatego 8 Mb/s odpowiada teoretycznie 1 MB/s, zanim uwzględni się narzut protokołów i inne warunki sieci.

W UTF-8 jeden znak zajmuje od 1 do 4 bajtów, zależnie od znaku. Przykład Aą zajmuje 3 bajty: A zajmuje 1 bajt, a ą zajmuje 2 bajty, dlatego liczba znaków nie musi odpowiadać liczbie bajtów.

kB oznacza 1000 bajtów, a KiB 1024 bajty. Analogicznie MB to 1 000 000 bajtów, natomiast MiB to 1 048 576 bajtów, więc różnica między tymi oznaczeniami wynika z użycia przedrostków dziesiętnych lub binarnych.

Oceń artykuł

Ocena: 4.40 Liczba głosów: 5

Tagi

bajt
bit
utf-8
transfer
przedrostki binarne
Autor Tymoteusz Maciejewski
Tymoteusz Maciejewski
Moje dni wypełnia zgłębianie kodu i analiza nowych technologii, zawsze z myślą o tym, jak najlepiej przekazać tę wiedzę dalej. Nazywam się Tymoteusz Maciejewski i od 12 lat aktywnie działam w świecie programowania, technologii i kariery w IT. Interesuje mnie nie tylko samo tworzenie oprogramowania, ale także proces, który prowadzi do zrozumienia złożonych zagadnień i uporządkowania ich w przystępny sposób. Na lukasz-zielinski.pl staram się dzielić się tym, co sam odkrywam, sprawdzając informacje u podstaw i dbając o to, by treści były aktualne i zrozumiałe dla każdego, kto chce rozwijać się w tej dynamicznej branży.

Udostępnij artykuł

Napisz komentarz