ASCII - kody ASCII - tablica kodów

ASCII (American Standard Code for Information Interchange) to standard kodowania znaków, który przypisuje liczby całkowite do znaków, takich jak litery, cyfry i znaki interpunkcyjne. Standard ASCII zawiera 128 znaków, z numerami od 0 do 127. Wartości te są przypisane do różnych znaków, w tym liter (zarówno wielkich, jak i małych), cyfr, znaków specjalnych i sterujących.

ASCII

ASCII powstał jako sposób na ujednolicenie sposobu reprezentowania tekstu w komputerach i urządzeniach komunikacyjnych. Historia jego powstania jest związana z rozwojem komputerów i telekomunikacji w latach 60. XX wieku. Przed powstaniem ASCII, różne firmy i organizacje używały różnych kodów do reprezentowania znaków. Na przykład, wczesne komputery używały kodów takich jak EBCDIC (Extended Binary Coded Decimal Interchange Code) opracowany przez IBM, czy różne własne systemy kodowania. Brak standardu powodował problemy z wymianą informacji między różnymi systemami komputerowymi. Potrzebne było jednolite rozwiązanie, które umożliwiłoby komunikację i przetwarzanie danych na różnych platformach.

Tworzenie standardu ASCII

  • W 1960 roku, Amerykański Instytut Standardów Narodowych (ANSI) utworzył komitet X3, który miał za zadanie opracowanie standardu dla kodowania znaków. W skład komitetu wchodzili przedstawiciele różnych firm technologicznych, agencji rządowych i uniwersytetów.
  • W 1963 roku opublikowano pierwszą wersję standardu ASCII. Standard ten wykorzystywał 7-bitowe kodowanie, co pozwalało na reprezentowanie 128 różnych znaków, w tym liter, cyfr, znaków interpunkcyjnych oraz niektórych znaków kontrolnych.
  • W 1967 roku ASCII zostało zaktualizowane i rozszerzone o dodatkowe znaki kontrolne. 7-bitowy system ASCII był jednak ograniczony i nie mógł reprezentować wszystkich potrzebnych znaków, zwłaszcza dla języków innych niż angielski. Dlatego później powstały rozszerzenia, takie jak 8-bitowe kodowanie, które pozwalały na reprezentowanie 256 znaków (np. rozszerzenia ASCII takie jak ISO 8859-1).

Kody ASCII

Kody ASCII szybko stały się standardem w komputerach osobistych i urządzeniach telekomunikacyjnych. Były szeroko stosowane w terminalach komputerowych, drukarkach, modemach i innych urządzeniach komunikacyjnych. Choć współczesne systemy kodowania znaków, takie jak Unicode, znacznie rozszerzyły możliwości reprezentacji znaków, ASCII nadal stanowi podstawę dla wielu z nich. Unicode, na przykład, jest zgodne wstecznie z ASCII, co oznacza, że pierwsze 128 znaków w Unicode jest identyczne z ASCII.

Tablica kodów ASCII od 0 do 127

Dec   
Hex   
Znak   
Opis
000NULLNull
101SOHStart of Heading
202STXStart of Text
303ETXEnd of Text
404EOTEnd of Transmission
505ENQEnquiry
606ACKAcknowledge
707BELBell
808BSBackspace
909TABHorizontal Tab
100ALFLine Feed
110BVTVertical Tab
120CFFForm Feed
130DCRCarriage Return
140ESOShift Out
150FSIShift In
1610DLEData Link Escape
1711DC1Device Control 1
1812DC2Device Control 2
1913DC3Device Control 3
2014DC4Device Control 4
2115NAKNegative Acknowledge
2216SYNSynchronous Idle
2317ETBEnd of Block
2418CANCancel
2519EMEnd of Medium
261ASUBSubstitute
271BESCEscape
281CFSFile Separator
291DGSGroup Separator
301ERSRecord Separator
311FUSUnit Separator
3220SPACESpace
3321!Exclamation Mark
3422"Quotation Mark
3523#Hash/Pound Sign
3624$Dollar Sign
3725%Percent Sign
3826&Ampersand
3927'Apostrophe
4028(Left Parenthesis
4129)Right Parenthesis
422A*Asterisk
432B+Plus Sign
442C,Comma
452D-Hyphen-Minus
462E.Period
472F/Slash
48300Digit 0
49311Digit 1
50322Digit 2
51333Digit 3
52344Digit 4
53355Digit 5
54366Digit 6
55377Digit 7
56388Digit 8
57399Digit 9
583A:Colon
593B;Semicolon
603C<Less-Than Sign
613D=Equals Sign
623E>Greater-Than Sign
633F?Question Mark
6440@Commercial At
6541AUppercase A
6642BUppercase B
6743CUppercase C
6844DUppercase D
6945EUppercase E
7046FUppercase F
7147GUppercase G
7248HUppercase H
7349IUppercase I
744AJUppercase J
754BKUppercase K
764CLUppercase L
774DMUppercase M
784ENUppercase N
794FOUppercase O
8050PUppercase P
8151QUppercase Q
8252RUppercase R
8353SUppercase S
8454TUppercase T
8555UUppercase U
8656VUppercase V
8757WUppercase W
8858XUppercase X
8959YUppercase Y
905AZUppercase Z
915B[Left Square Bracket
925C\Backslash
935D]Right Square Bracket
945E^Caret
955F_Underscore
9660`Grave Accent
9761aLowercase a
9862bLowercase b
9963cLowercase c
10064dLowercase d
10165eLowercase e
10266fLowercase f
10367gLowercase g
10468hLowercase h
10569iLowercase i
1066AjLowercase j
1076BkLowercase k
1086ClLowercase l
1096DmLowercase m
1106EnLowercase n
1116Fo
Lowercase o
11270
p
Lowercase p
11371
qLowercase q
11472
r
Lowercase r
11573
s
Lowercase s
11674
t
Lowercase t
11775
u
Lowercase u
11876
v
Lowercase v
11977
w
Lowercase w
12078
x
Lowercase x
12179
y
Lowercase y
1227A
z
Lowercase z
1237B
{
Left Curly Brace
1247C
|Vertical Bar
1257D
}
Right Curly Brace
1267E
~
Tilde
1277F
DEL
Delete

To pełna tablica znaków kodu ASCII od 0 do 127. Zawiera ona zarówno znaki kontrolne, jak i znaki drukowalne. Znaki kontrolne są zazwyczaj używane w sterowaniu urządzeniami lub formatowaniem tekstu, natomiast znaki drukowalne obejmują litery, cyfry i różne symbole używane w codziennym pisaniu i programowaniu.

Programy do generowania tablicy kodów ASCII

Każdy z poniższych programów generuje tablicę znaków kodów ASCII od 0 do 127. Można je uruchomić w odpowiednich środowiskach programistycznych dla każdego języka.

Program do generowania tablicy kodów ASCII w Python

def generate_ascii_table():
    print(f"{'Decimal':<10} {'Hex':<10} {'Char':<10}")
    print('-' * 30)
    for i in range(128):
        print(f"{i:<10} {hex(i):<10} {chr(i):<10}")
generate_ascii_table()

Program do generowania tablicy kodów ASCII w C++

#include <iostream>
int main() {
    for(int i = 0; i < 128; i++) {
        std::cout << i << ": " << static_cast<char>(i) << std::endl;
    }
    return 0;
}

Program do generowania tablicy kodów ASCII w Java

public class AsciiTable {
public static void main(String[] args) {
for(int i = 0; i < 128; i++) {
System.out.println(i + ": " + (char)i);
}
}
}

Program do generowania tablicy kodów ASCII w JavaScript

for (let i = 0; i < 128; i++) {
    console.log(i + ": " + String.fromCharCode(i));
}

Program do generowania tablicy kodów ASCII w PHP

<?php
for ($i = 0; $i < 128; $i++) {
echo "$i: " . chr($i) . "\n";
}
?>

Komentarze