Ak budete niekedy potrebovať pracovať s hodnotami ASCII, je nevyhnutná vyhľadávacia tabuľka.
Tabuľka ASCII používa čísla na znázornenie číslic, písmen a bežných symbolov z anglickej abecedy. ASCII je skratka pre americký štandardný kód pre výmenu informácií.
Toto slovo prvýkrát použil ANSI (Americký národný inštitút pre normalizáciu) v roku 1973, aby naplnil potrebu v tejto oblasti. Ako teda ASCII tabuľka vyzerá a ako ju môžete použiť?
Čo je ASCII tabuľka a čo obsahuje?
ASCII je systém kódovania znakov ktorý uľahčuje základnú komunikáciu s počítačom. Poskytuje štandard pre reprezentáciu textu, ktorý počítačom umožňuje univerzálne rozpoznať a interpretovať hodnoty ASCII.
Každé písmeno, číslo a symbol, ktoré môže ASCII reprezentovať, má jedinečnú hodnotu. Ak si napríklad prezriete tabuľku ASCII nižšie, uvidíte, že hodnoty ASCII veľkými písmenami začínajú na 65, veľké písmeno A. Podobne malé ASCII hodnoty začínajú na 97, malé písmeno a.
Tieto hodnoty slúžia ako číselné vyjadrenia znakov, čo umožňuje jednoduchú konverziu medzi číslami a textom.
Charakter |
ASCII |
Charakter |
ASCII |
Charakter |
ASCII |
Charakter |
ASCII |
Charakter |
ASCII |
Charakter |
ASCII |
Charakter |
ASCII |
Charakter |
ASCII |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 |
NUL |
16 |
DEL |
32 |
SP |
48 |
0 |
64 |
@ |
80 |
P |
96 |
` |
112 |
p |
1 |
SOH |
17 |
DC1 |
33 |
! |
49 |
1 |
65 |
A |
81 |
Q |
97 |
a |
113 |
q |
2 |
STX |
18 |
DC2 |
34 |
" |
50 |
2 |
66 |
B |
82 |
R |
98 |
b |
114 |
r |
3 |
ETX |
19 |
DC3 |
35 |
# |
51 |
3 |
67 |
C |
83 |
S |
99 |
c |
115 |
s |
4 |
EOT |
20 |
DC4 |
36 |
$ |
52 |
4 |
68 |
D |
84 |
T |
100 |
d |
116 |
t |
5 |
ENQ |
21 |
NAK |
37 |
% |
53 |
5 |
69 |
E |
85 |
U |
101 |
e |
117 |
u |
6 |
ACK |
22 |
SYN |
38 |
& |
54 |
6 |
70 |
F |
86 |
V |
102 |
f |
118 |
v |
7 |
BEL |
23 |
ETB |
39 |
' |
55 |
7 |
71 |
G |
87 |
W |
103 |
g |
119 |
w |
8 |
BS |
24 |
MÔCŤ |
40 |
( |
56 |
8 |
72 |
H |
88 |
X |
104 |
h |
120 |
X |
9 |
HT |
25 |
EM |
41 |
) |
57 |
9 |
73 |
ja |
89 |
Y |
105 |
i |
121 |
r |
10 |
LF |
26 |
SUB |
42 |
* |
58 |
: |
74 |
J |
90 |
Z |
106 |
j |
122 |
z |
11 |
VT |
27 |
ESC |
43 |
+ |
59 |
; |
75 |
K |
91 |
[ |
107 |
k |
123 |
{ |
12 |
FF |
28 |
FS |
44 |
, |
60 |
< |
76 |
L |
92 |
\ |
108 |
l |
124 |
| |
13 |
CR |
29 |
GS |
45 |
- |
61 |
= |
77 |
M |
93 |
] |
109 |
m |
125 |
} |
14 |
SO |
30 |
RS |
46 |
. |
62 |
> |
78 |
N |
94 |
^ |
110 |
n |
126 |
~ |
15 |
SI |
31 |
USA |
47 |
/ |
63 |
? |
79 |
O |
95 |
_ |
111 |
o |
127 |
DEL |
Ako si vytvoriť svoju vlastnú ASCII tabuľku pomocou Bash
V tabuľke ASCII je toľko hodnôt, že môže byť ťažké zapamätať si ich alebo si robiť poznámky. Pre referenciu môžete vidieť všetky hodnoty ASCII s malým kódovaním vo vami zvolenom programovacom jazyku, vrátane skriptu shellu.
Vo vyššie uvedenej tabuľke ASCII hodnota 65 zodpovedá písmenu A a hodnota 90 zodpovedá písmenu Z. Namiesto manuálneho vypracúvania všetkých hodnôt medzi nimi môžete tieto hodnoty opakovať a vytlačiť ich zodpovedajúce znaky. Ako väčšina iných jazykov, skripty shellu Bash vám umožňujú používať a pre slučku na opakovanie jednej alebo viacerých inštrukcií určitý počet krát.
Skúste to pomocou týchto informácií napísať program Bash ktorý vypíše všetky hodnoty od 33 do 126:
#!/bin/bash
ozvena"ASCII tabuľka"
ozvena""pre ((i=33; i<126; i++))
robiť
char=$(printf"\\X$(printf '%02x' $i)")
printf"%-10d%-10s"$i"$char"
ak (((i+1) % 4 == 0))
potom
printf"\n"
fi
hotový
Tento Bash skript priradí všetky hodnoty medzi 33 a 126 do a char premennú a vytlačí ju na obrazovku. Uložte tento skript Bash do súboru s názvom myASCII.sh a spustite ho pomocou nasledujúceho príkazu a skontrolujte výsledok.
bash myASCII.sh
Mali by ste vidieť užitočnú tabuľku zobrazujúcu znaky ASCII spolu s ich desatinnými hodnotami:
Ako filtrovať tabuľku ASCII
Pomocou skriptu Bash môžete urobiť viac, než len zobraziť hodnoty ASCII. Môžete skontrolovať hodnotu ASCII jednotlivých znakov a v nasledujúcom príklade ich použiť na filtrovanie textu.
Skúsme napríklad vymazať písmeno E v kľúčovom slove MAKEUSEOF pomocou Bash s ASCII filtrovaním. Pomocou vyhľadávacej tabuľky môžete potvrdiť hodnotu ASCII „E“: 69.
#!/bin/bash
pôvodný_text="POUŽIŤ"
filtrovaný_text=""
original_text_ascii=""
filter_text_ascii=""pre ((i=0; i<${#original_text}; i++))
robiť
char="${original_text: i: 1}"
char_ascii=$(printf"%d""'$char'")ak [[ "$(printf "%d" "'$char")" != "69" ]]
potom
filtrovaný_text+="$char"
filter_text_ascii+=" $char_ascii"
fipôvodný_text_ascii+=" $char_ascii"
hotový
ozvena"Pôvodný text: $original_text (ASCII: $original_text_ascii)"
ozvena"ASCII ekvivalent písmena E: $(printf "%d" "'E'")"
ozvena"Filtrovaný text: $filtred_text (ASCII: $filtered_text_ascii)"
V tomto skripte je vstupnou premennou slovo MAKEUSEOF. Skript používa premennú, filtrovaný_text,na vytvorenie požadovaného výstupu, ktorý obsahuje všetko okrem písmena "E". The pre slučka iteruje cez každý znak vo vstupnom texte.
Ak chcete vidieť výsledok, skopírujte tento kód do súboru s názvom myFilter.sh a utekaj bash myFilter.sh.
Prevod veľkých písmen na malé v Bash pomocou tabuľky ASCII
Pomocou Bash môžete tiež previesť veľké písmená na malé písmená pomocou tabuľky ASCII. Keď preskúmate 7-bitovú tabuľku ASCII, uvidíte, že rozdiel medzi veľkými a malými písmenami tých istých písmen je vždy 32. Pomocou toho je logika programu, ktorý dokáže previesť veľké slovo na malé, jednoduchá.
Napríklad kapitál A má hodnotu 65, zatiaľ čo malé a má hodnotu 97. Využitím tejto výhody môžete napísať útržok kódu takto:
#!/bin/bash
čítať -p "Zadajte text: " vstup
konvertovaný_text=""
pre ((i=0; i<${#input}; i++))
robiť
char="${input: i: 1}"
char_ascii=$(printf"%d""'$char'")ak [[ $char_ascii -ekv 32]]
potom
ozvena"Neplatný znak: medzera"
elif [[ $char_ascii -ge 65 && $char_ascii -le 90]]
potom
char_ascii=$((char_ascii + 32))
convert_text+=$(printf"\\$(printf '%03o' "$char_ascii")")
elif [[ $char_ascii -ge 97 && $char_ascii -le 127]]
potom
konvertovaný_text+="$char"
inak
ozvena"Neplatná postava: $char"
fi
hotový
ozvena"Prevedený text: $konvertovaný_text"
Tento program pridáva 32 k hodnote ASCII každého veľkého písmena, ktoré číta, aby dospel k zodpovedajúcemu malému písmenu. Ak si to chcete vyskúšať sami, skopírujte tento kód do súboru s názvom toLowercase.sh a spustite ho pomocou bash toLowercase.sh príkaz.
Bude ASCII tabuľka fungovať pre mňa?
Tabuľka ASCII je cenným nástrojom pre každého, kto pracuje s textovými údajmi alebo programovacími jazykmi. Ponúka štandardnú reprezentáciu znakov, čísel a symbolov, ktorým počítače univerzálne rozumejú. Či už ste programátor, dátový analytik alebo jednoducho niekto, kto pracuje s textovými informáciami, ASCII tabuľka má mnoho využití.
To otvára možnosti pre úlohy, ako je overovanie údajov, manipulácia s textom a operácie kódovania/dekódovania. Pomocou tabuľky ASCII môžete rýchlo určiť hodnotu ASCII znaku alebo previesť číselné hodnoty späť na ich textové vyjadrenia. Slúži ako základ pre komunikáciu a interoperabilitu v rôznych oblastiach, vďaka čomu je základnou referenciou pre programovanie súvisiace s textom.