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
0 00 NULL Null
1 01 SOH Start of Heading
2 02 STX Start of Text
3 03 ETX End of Text
4 04 EOT End of Transmission
5 05 ENQ Enquiry
6 06 ACK Acknowledge
7 07 BEL Bell
8 08 BS Backspace
9 09 TAB Horizontal Tab
10 0A LF Line Feed
11 0B VT Vertical Tab
12 0C FF Form Feed
13 0D CR Carriage Return
14 0E SO Shift Out
15 0F SI Shift In
16 10 DLE Data Link Escape
17 11 DC1 Device Control 1
18 12 DC2 Device Control 2
19 13 DC3 Device Control 3
20 14 DC4 Device Control 4
21 15 NAK Negative Acknowledge
22 16 SYN Synchronous Idle
23 17 ETB End of Block
24 18 CAN Cancel
25 19 EM End of Medium
26 1A SUB Substitute
27 1B ESC Escape
28 1C FS File Separator
29 1D GS Group Separator
30 1E RS Record Separator
31 1F US Unit Separator
32 20 SPACE Space
33 21 ! Exclamation Mark
34 22 " Quotation Mark
35 23 # Hash/Pound Sign
36 24 $ Dollar Sign
37 25 % Percent Sign
38 26 & Ampersand
39 27 ' Apostrophe
40 28 ( Left Parenthesis
41 29 ) Right Parenthesis
42 2A * Asterisk
43 2B + Plus Sign
44 2C , Comma
45 2D - Hyphen-Minus
46 2E . Period
47 2F / Slash
48 30 0 Digit 0
49 31 1 Digit 1
50 32 2 Digit 2
51 33 3 Digit 3
52 34 4 Digit 4
53 35 5 Digit 5
54 36 6 Digit 6
55 37 7 Digit 7
56 38 8 Digit 8
57 39 9 Digit 9
58 3A : Colon
59 3B ; Semicolon
60 3C < Less-Than Sign
61 3D = Equals Sign
62 3E > Greater-Than Sign
63 3F ? Question Mark
64 40 @ Commercial At
65 41 A Uppercase A
66 42 B Uppercase B
67 43 C Uppercase C
68 44 D Uppercase D
69 45 E Uppercase E
70 46 F Uppercase F
71 47 G Uppercase G
72 48 H Uppercase H
73 49 I Uppercase I
74 4A J Uppercase J
75 4B K Uppercase K
76 4C L Uppercase L
77 4D M Uppercase M
78 4E N Uppercase N
79 4F O Uppercase O
80 50 P Uppercase P
81 51 Q Uppercase Q
82 52 R Uppercase R
83 53 S Uppercase S
84 54 T Uppercase T
85 55 U Uppercase U
86 56 V Uppercase V
87 57 W Uppercase W
88 58 X Uppercase X
89 59 Y Uppercase Y
90 5A Z Uppercase Z
91 5B [ Left Square Bracket
92 5C \ Backslash
93 5D ] Right Square Bracket
94 5E ^ Caret
95 5F _ Underscore
96 60 ` Grave Accent
97 61 a Lowercase a
98 62 b Lowercase b
99 63 c Lowercase c
100 64 d Lowercase d
101 65 e Lowercase e
102 66 f Lowercase f
103 67 g Lowercase g
104 68 h Lowercase h
105 69 i Lowercase i
106 6A j Lowercase j
107 6B k Lowercase k
108 6C l Lowercase l
109 6D m Lowercase m
110 6E n Lowercase n
111 6F o
Lowercase o
112 70
p
Lowercase p
113 71
q Lowercase q
114 72
r
Lowercase r
115 73
s
Lowercase s
116 74
t
Lowercase t
117 75
u
Lowercase u
118 76
v
Lowercase v
119 77
w
Lowercase w
120 78
x
Lowercase x
121 79
y
Lowercase y
122 7A
z
Lowercase z
123 7B
{
Left Curly Brace
124 7C
| Vertical Bar
125 7D
}
Right Curly Brace
126 7E
~
Tilde
127 7F
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 
int main() {
    for(int i = 0; i < 128; i++) {
        std::cout << i << ": " << static_cast(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

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

Komentarze