Komputer posługuje się tylko zerami i jedynkami, więc jak zapamiętuje litery?
Ponieważ komputery operują na liczbach, a konkretnie na liczbach zapisywanych w systemie binarnym (dwójkowym), więc wszystkie informacje przetwarzane przez komputer muszą być liczbami. Jak w takim razie poradzić sobie z przetwarzaniem tekstu, jak ciąg znaków graficznych zamienić na liczby? Okazuje się, że sposób jest bardzo prosty, jeżeli każdemu znakowi graficznemu przypiszemy jednoznacznie liczbę uzyskamy możliwość wyrażenia dowolnego tekstu w postaci ciągu liczb. Takie przyporządkowanie zostało opracowane i przyjęte jako standard kodowania znaków i nosi nazwę kodu ASCII (czyt. aski), co stanowi skrót od pełnej nazwy „American Standard Code for Information Interchange„. Dlatego każdy znak jest w komputerze kodowany, czyli otrzymuje jednoznaczną reprezentację liczbową. Do zapisywania kodów ASCII wykorzystuje się jednostkę pamięci czyli 1bajt. Bajt to 8 bitów i przy pomocy kombinacji 0 i 1 możemy zapisać w jednym bajcie liczbę z zakresu od 0 do 255, mamy więc do dyspozycji 256 kodów liczbowych i tak np. litera A to liczba 65 co w postaci binarnej wygląda tak: 010000012.
Tak więc zestaw zawiera 256 znaków (ponumerowanych od 0 do 255). Zamieńmy liczbę 255 na postać dwójkową: 255=111111112.
- Kody od 0-32 i 127 to znaki sterujące używane do przesyłania informacji pomiędzy komputerami lub pomiędzy komputerem a innymi urządzenia np. zmiana wiersza, sygnał dźwiękowy itd.);
- Kody 33-126 to duże i małe litery, cyfry, znaki przestankowe (średnik, przecinek, kropka itd.), nawiasy oraz znaki specjalne (procent, dolar itd.);
Ten zakres kodów wykorzystujący 7 bitów (ósmy bit jest wtedy zerem) jest ogólnoświatowy i dzięki temu klawiatura wykonana gdziekolwiek na świecie będzie kompatybilna z komputerem stojącym na naszym biurku.
- Kody od 128-255 to tzw. „rozszerzony zestaw znaków” zawierający kody przypisywane w zależności od kraju np. kody liter występujących tylko w języku polskim: ą, ę, ó, ł, ń itd. Ta umowa musi być również w danym kraju jednoznaczna.
Słowo Dom będzie rozumiane przez komputer jako: 01000100 01101111 01101101
Tabela kodów ASCII – https://www.wikiwand.com/pl/ASCII
Z czasem liczba znaków tabeli ASCII przestała wystarczać – komputery zyskiwały nowe zastosowania, a do tego stawały się popularniejsze w innych krajach, mających specyficzne litery w swoim alfabecie. Aby łatwo było kodować litery różnych alfabetów, wprowadzono dwubajtowy zapis znaków opracowując nowy standard Unicode – https://unicode-table.com/pl/ (oficjalnie ogłoszony w 1991 roku) – umożliwia on zakodowanie 256 x 256 = 65536 znaków.
- 1 bajt (8 bitów) to 28 = 256 znaków, czyli zakres od 0 do 255;
- 2 bajty (16 bitów) to 216 = 65 536 znaków, czyli zakres od 0 do 65535;
- 4 bajty (32 bity) to 232 = 4 294 967 296 znaków, czyli zakres od 0 do 4 294 967 295;
Problem został rozwiązany w ten sposób, że znaki nie są zapisywane z wykorzystaniem 1 bajta (tylko 256 znaków) lecz na 2 bajtach (tzn. 65536 znaków) lub 4 bajtach (tzn. 4294967296 znaków) w zależności od standardu. Pierwsze 127 znaków jest takie samo dla wszystkich standardów.
- Odszukaj, ile znaków potrzeba, aby pisać dowolne teksty. Może ci w tym pomóc Tablica znaków (Start – Wszystkie aplikacje – Akcesoria systemu) – Tablica znaków w systemie Windows;
Z tablicy znaków wybrano A, w wyniku czego w dolnym polu okna wyświetlił się numer kodowy tego znaku: U+0041. (U – UNICODE i jest on zapisany w układzie szesnastkowym). Można wykorzystać kalkulator do zamiany liczb dwójkowych na szesnastkowy lub odwrotnie – pamiętaj jednak, by na karcie Widok wybrać opcję Programisty.
Zamiana liczb – system dwójkowy, szesnastkowy, ósemkowy, dziesiętny – Pasja informatyki (Mirosław Zelent)