fbpx

Kod ASCII – co oznacza tabela kodów ASCII?

ASCII (American Standard Code for Information Interchange) to siedmiobitowy system kodowania znaków, który przypisuje każdemu znakowi unikalną wartość liczbową. Opracowany na początku lat 60. przez komitet X3.2 działający przy American National Standards Institute (ANSI), stał się jednym z najważniejszych standardów w historii informatyki i do dziś stanowi fundament wielu współczesnych systemów kodowania tekstu.

Czym jest ASCII i jak działa?

Standard ASCII definiuje zestaw 128 znaków o kodach od 0 do 127, zapisywanych za pomocą 7 bitów. Każdy znak w tabeli ASCII posiada przypisaną wartość dziesiętną, szesnastkową oraz binarną.

Siedmiobitowy system kodowania znaków ASCII obejmuje:

  • litery alfabetu łacińskiego – małe i wielkie litery od A do Z,
  • cyfry od 0 do 9,
  • znaki interpunkcyjne i znaki specjalne, takie jak przecinek, kropka, nawias czy znak @,
  • spację i inne znaki białe,
  • znaki sterujące (control characters) – kody od 0 do 31 oraz 127, wykorzystywane do sterowania urządzeniami i formatowania tekstu, np. Backspace (kod 8), Tab (kod 9), Line Feed (kod 10) czy Carriage Return (kod 13).

Standard ASCII wywodzi się z wcześniejszych systemów wykorzystywanych w telegrafii i dalekopisach. Jego pierwotnym celem było zapewnienie jednolitego sposobu komunikacji pomiędzy urządzeniami elektronicznymi.

Tabela ASCII – znaki od 0 do 127

Pełna tabela ASCII obejmuje 128 znaków. Można je podzielić na kilka podstawowych grup.

Znaki sterujące (0–31 i 127)

Kody od 0 do 31 oraz kod 127 reprezentują znaki sterujące. Nie są one widoczne podczas wyświetlania tekstu, ponieważ służą do kontroli działania urządzeń lub formatowania danych.

Przykłady:

  • kod 0 – NUL (Null Character),
  • kod 8 – Backspace,
  • kod 9 – Tab,
  • kod 10 – Line Feed,
  • kod 13 – Carriage Return,
  • kod 127 – DEL (Delete).

Cyfry i znaki specjalne (32–64)

Kod 32 odpowiada spacji, czyli pierwszemu drukowalnemu znakowi ASCII.

Kody od 33 do 47 oraz od 58 do 64 obejmują różnego rodzaju znaki specjalne i interpunkcyjne, natomiast zakres 48–57 odpowiada cyfrom od 0 do 9.

Wielkie litery (65–90)

Kod 65 oznacza literę A, a kod 90 literę Z. Wszystkie wielkie litery alfabetu łacińskiego zajmują kolejne wartości w tym zakresie.

Małe litery (97–122)

Kod 97 odpowiada literze a, a kod 122 literze z. W standardzie ASCII różnica pomiędzy wielką literą a jej małym odpowiednikiem wynosi zawsze 32, co znacząco ułatwia operacje wykonywane przez programy komputerowe.

Rozszerzenia ASCII – znaki od 128 do 255

Podstawowy standard ASCII obejmuje jedynie 128 znaków, co okazało się niewystarczające dla wielu języków narodowych wykorzystujących dodatkowe znaki diakrytyczne.

Aby rozwiązać ten problem, zaczęto tworzyć rozszerzone strony kodowe wykorzystujące pełny bajt, czyli 8 bitów. Pozwalało to zapisać łącznie 256 różnych znaków.

Do najpopularniejszych rozszerzeń należą:

  • ISO 8859-1 (Latin-1) – dla języków Europy Zachodniej,
  • ISO 8859-2 – dla języków Europy Środkowej, w tym języka polskiego,
  • Windows-1250 – strona kodowa Microsoftu dla języków środkowoeuropejskich,
  • Windows-1252 – strona kodowa dla języków zachodnioeuropejskich,
  • ANSI – potoczna nazwa stron kodowych stosowanych w systemach Windows.

Ponieważ różne systemy operacyjne stosowały odmienne strony kodowe, często dochodziło do problemów z poprawnym wyświetlaniem tekstu.

ASCII a Unicode i UTF-8

Ograniczenia ASCII oraz brak zgodności pomiędzy jego rozszerzeniami doprowadziły do stworzenia standardu Unicode.

Unicode umożliwia zapis ponad miliona znaków używanych w różnych systemach pisma na całym świecie. Pierwsze 128 kodów Unicode odpowiada dokładnie znakom standardu ASCII, dzięki czemu zachowana została pełna zgodność wsteczna.

Najpopularniejszym sposobem zapisu Unicode jest kodowanie UTF-8. Jest ono kompatybilne z ASCII dla zakresu 0–127. Oznacza to, że wszystkie znaki ASCII są zapisywane w UTF-8 dokładnie tak samo jak w oryginalnym standardzie.

Znaki spoza zakresu ASCII zajmują w UTF-8 od 2 do 4 bajtów. Obecnie UTF-8 jest domyślnym standardem kodowania wykorzystywanym w internecie, systemach operacyjnych oraz językach programowania.

ASCII w Pythonie i programowaniu

Python obsługuje ASCII i Unicode natywnie. Wszystkie napisy w Pythonie 3 są przechowywane jako ciągi znaków Unicode.

Przykład wykorzystania kodów ASCII w języku Python:

# Zwraca kod ASCII dla znaku
ord('A')  # wynik: 65
ord('a')  # wynik: 97

# Zwraca znak odpowiadający kodowi ASCII
chr(65)   # wynik: 'A'
chr(97)   # wynik: 'a'
chr(32)   # wynik: ' '

Znajomość tabeli ASCII przydaje się podczas pracy z plikami binarnymi, protokołami komunikacyjnymi, drukarkami etykiet oraz czytnikami kodów kreskowych. W takich zastosowaniach dane często przesyłane są jako sekwencje bajtów reprezentujące konkretne znaki.

Dlaczego ASCII nadal ma znaczenie w informatyce?

Mimo że Unicode i UTF-8 niemal całkowicie zastąpiły ASCII jako główny system kodowania tekstu, jego znaczenie pozostaje ogromne.

Protokoły sieciowe, takie jak HTTP, SMTP czy FTP, wykorzystują składnię opartą na znakach ASCII. Wiele formatów plików, języków programowania i systemów operacyjnych nadal korzysta z tego standardu jako podstawy komunikacji.

Systemy wbudowane, sterowniki przemysłowe oraz urządzenia komunikujące się przez port szeregowy często wykorzystują siedmiobitowe kodowanie znaków oparte właśnie na ASCII.

Tabela ASCII pozostaje jednym z najważniejszych i najbardziej wpływowych standardów w historii informatyki. Pomimo upływu ponad sześciu dekad od jej powstania nadal stanowi fundament współczesnych technologii.

ASCII w drukarkach przemysłowych i etykieciarkach

W środowiskach przemysłowych kodowanie ASCII jest podstawowym standardem komunikacji pomiędzy systemami ERP lub WMS a urządzeniami drukującymi.

Drukarki przemysłowe i etykieciarki odbierają dane jako strumień znaków ASCII zawierający nazwy produktów, numery partii, kody kreskowe, kody QR czy daty ważności.

Języki sterowania drukarkami, takie jak ZPL (Zebra Programming Language) oraz EPL, wykorzystują zestaw znaków ASCII jako podstawę swojej składni. Znaki sterujące z zakresu 0–31 pełnią funkcję separatorów pól danych, znaczników początku i końca komunikatów oraz poleceń sterujących procesem drukowania.

Z tego względu znajomość tabeli ASCII jest niezwykle przydatna podczas integracji drukarek etykiet z systemami informatycznymi oraz przy diagnozowaniu problemów komunikacyjnych. W praktyce nawet pojedynczy znak o nieprawidłowym kodzie może spowodować błędny wydruk lub zakłócić pracę urządzenia.

Scroll to Top
zmiana numerow kont stopka

Zmiana numerów kont!