Cześć! Dziś porozmawiamy o kodach ASCII i ASCII table.
ASCII – czyli jak to jest, że komputery posługując się tylko i wyłącznie ciągami zer i jedynek mogą przechować informacje o liczbach, o literach, a nawet tak złożonych dziełach jak, całe książki? – że o audio i wideo już nie wspomnę 😉
W ramach tego materiału skupimy się jednak na samych znakach – i dowiesz się z niego, w jaki sposób działają kody ASCII, a komputer radzi sobie z przetwarzaniem poszczególnych symboli.
Spis treści
ASCII – ASCII table – wprowadzenie
Jak już sobie wcześniej powiedzieliśmy – komputery operują na liczbach zapisywanych w systemie binarnym (ciągi zer i jedynek), więc wszelkie informacje, które są przetwarzane przez komputer, muszą być liczbami.
W takim razie jak to się dzieje, że komputer zapamiętuje znaki (na przykład litery alfabetu, czy symbole)? 🧐
Kodowanie ASCII
Z pomocą przychodzi (między innymi) kodowanie ASCII (ang. American Standard Code for Information Interchange) – 7-bitowy system kodowania znaków.
Sposób jest bardzo prosty – każdemu znakowi graficznemu przypisujemy jednoznacznie liczbę i uzyskamy w ten sposób możliwość wyrażenia dowolnego tekstu w postaci ciągu liczb.
Przykład kodów ASCII:
- litera „A” jest kodowana jako liczba 65 (binarnie – 0100 0001),
- a znak spacji jest kodowany jako 32 (binarnie – 0010 0000).
Kod ASCII
System ASCII pojawił się w 1960 za sprawą American National Standards Institute (ANSI) i wywodzi się od kodu telegraficznego.
Do zapisywania kodów ASCII wykorzystuje się najczęściej 1 bajt. Bajt to 8 bitów i dzięki kombinacji 0 i 1 jesteśmy w stanie zapisać w jednym bajcie liczbę z zakresu od 0 do 255, czyli do dyspozycji mamy 256 kodów liczbowych.
Sam standard jest jednak 7-bitowy, a ostatni bit pamięci wykorzystywany jest na jego rozszerzenia.
Podział kodów ASCII
- Znaki sterujące – kody od 0 do 32 i 127
- Są używane do przesyłania informacji pomiędzy komputerami lub pomiędzy komputerem, a innymi urządzenia np. zmiana wiersza, sygnał dźwiękowy, czy dość popularny znak nowej linii – 10 LF itd.
- Nazwa „znaki sterujące” wzięła się z tego, że pierwotnie pierwsze 32 znaki miały służyć do obsługi (sterowania) urządzeniami takimi jak drukarki, modemy czy terminale.
- W późniejszym czasie znaki sterujące nabrały znaczenia w bardziej rozbudowanych edytorach tekstu.
- Znaki drukowalne – kody od 33 do 126
- Czyli znaki widoczne na ekranach monitorów.
- To duże i małe litery, cyfry, symbole oraz znaki interpunkcyjne.
!”#$%&'()*+,-./0123456789:;<=>?@ABCD… itp.
- „Rozszerzony zestaw znaków” – kody od 128 do 255
- Ponieważ kod ASCII jest 7-bitowy, a większość komputerów operuje na 8-bitowych bajtach, dodatkowy bit można wykorzystać na powiększenie zbioru kodowanych znaków do 256 symboli.
- Ta grupa przechowuje rozszerzenia standardu, czyli można np. przechować tutaj nasze typowo polskie: ą, ę, ó, ł, ń itd.
ASCII – ASCII table
Bin | Dec | Hex | Znak | Skrót |
---|---|---|---|---|
0000 0000 | 0 | 00 | Null | NUL |
0000 0001 | 1 | 01 | Start of Heading | SOH |
0000 0010 | 2 | 02 | Start of Text | STX |
0000 0011 | 3 | 03 | End of Text | ETX |
0000 0100 | 4 | 04 | End of Transmission | EOT |
0000 0101 | 5 | 05 | Enquiry | ENQ |
0000 0110 | 6 | 06 | Acknowledge | ACK |
0000 0111 | 7 | 07 | Bell | BEL |
0000 1000 | 8 | 08 | Backspace | BS |
0000 1001 | 9 | 09 | Horizontal Tab | HT |
0000 1010 | 10 | 0A | Line Feed | LF |
0000 1011 | 11 | 0B | Vertical Tab | VT |
0000 1100 | 12 | 0C | Form Feed | FF |
0000 1101 | 13 | 0D | Carriage Return | CR |
0000 1110 | 14 | 0E | Shift Out | SO |
0000 1111 | 15 | 0F | Shift In | SI |
0001 0000 | 16 | 10 | Data Link Escape | DLE |
0001 0001 | 17 | 11 | Device Control 1 (XON) | DC1 |
0001 0010 | 18 | 12 | Device Control 2 | DC2 |
0001 0011 | 19 | 13 | Device Control 3 (XOFF) | DC3 |
0001 0100 | 20 | 14 | Device Control 4 | DC4 |
0001 0101 | 21 | 15 | Negative Acknowledge | NAK |
0001 0110 | 22 | 16 | Synchronous Idle | SYN |
0001 0111 | 23 | 17 | End of Transmission Block | ETB |
0001 1000 | 24 | 18 | Cancel | CAN |
0001 1001 | 25 | 19 | End of Medium | EM |
0001 1010 | 26 | 1A | Substitute | SUB |
0001 1011 | 27 | 1B | Escape | ESC |
0001 1100 | 28 | 1C | File Separator | FS |
0001 1101 | 29 | 1D | Group Separator | GS |
0001 1110 | 30 | 1E | Record Separator | RS |
0001 1111 | 31 | 1F | Unit Separator | US |
0010 0000 | 32 | 20 | Spacja | |
0010 0001 | 33 | 21 | ! | |
0010 0010 | 34 | 22 | ||
0010 0011 | 35 | 23 | # | |
0010 0100 | 36 | 24 | $ | |
0010 0101 | 37 | 25 | % | |
0010 0110 | 38 | 26 | & | |
0010 0111 | 39 | 27 | ' | |
0010 1000 | 40 | 28 | ( | |
0010 1001 | 41 | 29 | ) | |
0010 1010 | 42 | 2A | * | |
0010 1011 | 43 | 2B | + | |
0010 1100 | 44 | 2C | , | |
0010 1101 | 45 | 2D | - | |
0010 1110 | 46 | 2E | . | |
0010 1111 | 47 | 2F | / | |
0011 0000 | 48 | 30 | 0 | |
0011 0001 | 49 | 31 | 1 | |
0011 0010 | 50 | 32 | 2 | |
0011 0011 | 51 | 33 | 3 | |
0011 0100 | 52 | 34 | 4 | |
0011 0101 | 53 | 35 | 5 | |
0011 0110 | 54 | 36 | 6 | |
0011 0111 | 55 | 37 | 7 | |
0011 1000 | 56 | 38 | 8 | |
0011 1001 | 57 | 39 | 9 | |
0011 1010 | 58 | 3A | : | |
0011 1011 | 59 | 3B | ||
0011 1100 | 60 | 3C | < | |
0011 1101 | 61 | 3D | = | |
0011 1110 | 62 | 3E | > | |
0011 1111 | 63 | 3F | ? | |
0100 0000 | 64 | 40 | @ | |
0100 0001 | 65 | 41 | A | |
0100 0010 | 66 | 42 | B | |
0100 0011 | 67 | 43 | C | |
0100 0100 | 68 | 44 | D | |
0100 0101 | 69 | 45 | E | |
0100 0110 | 70 | 46 | F | |
0100 0111 | 71 | 47 | G | |
0100 1000 | 72 | 48 | H | |
0100 1001 | 73 | 49 | I | |
0100 1010 | 74 | 4A | J | |
0100 1011 | 75 | 4B | K | |
0100 1100 | 76 | 4C | L | |
0100 1101 | 77 | 4D | M | |
0100 1110 | 78 | 4E | N | |
0100 1111 | 79 | 4F | O | |
0101 0000 | 80 | 50 | P | |
0101 0001 | 81 | 51 | Q | |
0101 0010 | 82 | 52 | R | |
0101 0011 | 83 | 53 | S | |
0101 0100 | 84 | 54 | T | |
0101 0101 | 85 | 55 | U | |
0101 0110 | 86 | 56 | V | |
0101 0111 | 87 | 57 | W | |
0101 1000 | 88 | 58 | X | |
0101 1001 | 89 | 59 | Y | |
0101 1010 | 90 | 5A | Z | |
0101 1011 | 91 | 5B | [ | |
0101 1100 | 92 | 5C | \ | |
0101 1101 | 93 | 5D | ] | |
0101 1110 | 94 | 5E | ^ | |
0101 1111 | 95 | 5F | _ | |
0110 0000 | 96 | 60 | ` | |
0110 0001 | 97 | 61 | a | |
0110 0010 | 98 | 62 | b | |
0110 0011 | 99 | 63 | c | |
0110 0100 | 100 | 64 | d | |
0110 0101 | 101 | 65 | e | |
0110 0110 | 102 | 66 | f | |
0110 0111 | 103 | 67 | g | |
0110 1000 | 104 | 68 | h | |
0110 1001 | 105 | 69 | i | |
0110 1010 | 106 | 6A | j | |
0110 1011 | 107 | 6B | k | |
0110 1100 | 108 | 6C | l | |
0110 1101 | 109 | 6D | m | |
0110 1110 | 110 | 6E | n | |
0110 1111 | 111 | 6F | o | |
0111 0000 | 112 | 70 | p | |
0111 0001 | 113 | 71 | q | |
0111 0010 | 114 | 72 | r | |
0111 0011 | 115 | 73 | s | |
0111 0100 | 116 | 74 | t | |
0111 0101 | 117 | 75 | u | |
0111 0110 | 118 | 76 | v | |
0111 0111 | 119 | 77 | w | |
0111 1000 | 120 | 78 | x | |
0111 1001 | 121 | 79 | y | |
0111 1010 | 122 | 7A | z | |
0111 1011 | 123 | 7B | { | |
0111 1100 | 124 | 7C | | | |
0111 1101 | 125 | 7D | } | |
0111 1110 | 126 | 7E | ~ | |
0111 1111 | 127 | 7F | Delete | DEL |
- hex to ascii
- ascii to hex
ASCII Art
ASCII-Art to stosunkowo prosty (ale BARDZO pomysłowy!) sposób tworzenia rysunków korzystając tylko z edytora tekstu.
Wyobraź sobie, że masz do „namalowania” obraz Mona Lisa (dość abstrakcyjny pomysł!) i do dyspozycji tylko notatnik (jeszcze bardziej abstrakcyjny pomysł!! 🤡).
Nie da się? No to zobacz poniższy wpis! 😉
➡ ZOBACZ 👉: ASCII – ASCII art ♨️☢️ ☣️ (◍•﹏•)
ASCII Emoji 🧐
Przykładem bardzo prostych ASCII-Art są emotikony:
( ͡° ͜ʖ ͡°)x
(ꖘ‸ꖘ)
(¬、¬)
ʘ‿ʘ
( ¬‿¬)
Emotikony to połączenia znaków, które znajdziemy na klawiaturze komputerów i telefonów przypominające ludzką twarz, z charakterystycznymi elementami dla jej mimiki, wyrażając przez to emocje.
Ich nazwa wywodzi się od dwóch angielskich słów: „emotion” (emocje) i „icon” (znak).
Wraz z rozwojem technologii i wzrastającą liczbą użytkowników smartfonów większość emotikon zamieniana jest po wpisaniu ich na klawiaturze na graficzne odpowiedniki – piktogramy, czyli inaczej emoji. Wszystko poszło w kierunku uproszczenia – klikasz i masz: serduszka, słoneczka, buźki, budynki, zwierzęta i wiele innych.
➡ ZOBACZ 👉: Emotikony, emotki – do skopiowania, do pobrania, znaczenie
ASCII, ASCII table, kodowanie ASCII – podsumowanie
ASCII nie jest jedynym kodowanie, z którym możemy się spotkać. Jest jednak jednym z pierwszych i prostszych systemów – na przykładzie, którego można pokazać, jak działa taka idea.
W związku z technicznym ograniczeniem do 256 znaków – ASCII jest powoli wypierany poprzez inne, nowsze mechanizmy pozwalające na obsługę większej ilości znaków – głównie kodowania znaków o nazwie Unicode.
20+ BONUSOWYCH materiałów z programowania
e-book – „8 rzeczy, które musisz wiedzieć, żeby dostać pracę jako programista”,
e-book – „Java Cheat Sheet”,
checklista – „Pytania rekrutacyjne”
i wiele, wiele wiecej!
2 Comments
Nie lubię liczb. Dosyć skomplikowane. Naprawdę ciężko czasami je ogarnąć. Warto jednak próbować..
00110010 00110100 00110111 00110101