header

Znaki ASCII

American Standard Code for Information Interchange

Wszystkie znaki używane przez nas są zamieniane na liczby, a te zapisywane w postaci bitów. Sposób zamiany znaków nazywa się kodowaniem. Standardowy zestaw znaków, obsługiwany przez prawie wszystkie systemy operacyjne to kod ASCII. Podstawowy kod ASCII składa się z 128 znaków, składających się z liczb, dużych i małych liter alfabetu angielskiego i wybranych znaków specjalnych. Jeżeli chcemy np. na stronie internetowej używać znaków charakterystychnych dla danego języka, nie występujących w języku angielskim (np. literki ą) musimy rozszerzyć zbiór ASCII. Dla krajów Europy Zachodniej można użyć kodowania ISO-8859-1, dla Europy Środkowej ISO-8859-2. Niezależnie od kodowania ISO powstał uniwersalny system kodowania Unicode, zawierający wszystkie możliwe znaki występujące we wszystkich językach. Na użytek dokumentów HTML i XHTML używa się wersji Unicode nazwanej UTF-8. Swój sposób kodowania stosuje firma Microsoft, aby uzyskać znaki polskie stosujemy kodowanie windows-1250.

Znaki ASCII możemy wyświetlić, uruchamiając następujący program:

ascii

 

ascii - wynik

Uwagi:

  • początkowe znaki (do 31) są znakami specjanymi, zarezerwowanymi często dla systemu operacyjnego np. sygnał dźwiekowy głośniczka systemowego ma numer 7
  • niektóre znaki to tak zwane znaki niedrukowalne, np. znak nowej linii, tabulator, czy wspomniany wyżej sygnał dzwiękowy, w jezyku C++ zapisujemy je za pomocą symbolu "\" (backslash) i pierwszej literki jego angielskiej nazwy. Przykłady: \n - new line, \a - alarm.
  • system("PAUSE") zatrzymuje wykonywanie programu (w okienku "dosowym"), program czeka na naciśnięcie dowolnego klawisza

Uwaga o rzutowaniu typów: jeżeli odwrotnie, mamy dany znak i chcemy poznać jego numer w kodzie ASCII, używamy tzw. rzutowania z typu char na int. Można to zrobić następująco:

cout<<int('A'); albo cout<<(int)'A';
na ekranie monitora w obu wypadkach otrzymamy liczbę 65.

Zadanie 1. Napisz program, który prosi o wpisanie dowolnej litery, a następnie jeśli jest to mała literka zamienia ją na wielką; a jeśli wielka na małą. Program powinien wyświetlać komunikat o błędzie jeżeli wpisany znak nie jest literą i prosić o ponowne wpisanie znaku.