Kui teil on kunagi vaja töötada ASCII väärtustega, on otsingutabel hädavajalik.
ASCII tabel kasutab numbreid, et tähistada numbreid, tähti ja tavalisi ingliskeelse tähestiku sümboleid. ASCII tähistab Ameerika standardkoodi teabevahetuseks.
Seda sõna kasutas esmakordselt ANSI (Ameerika Riiklik Standardiinstituut) 1973. aastal, et täita selle valdkonna vajadust. Kuidas ASCII tabel välja näeb ja kuidas seda kasutada?
Mis on ASCII tabel ja mida see sisaldab?
ASCII on märgikodeerimissüsteem mis hõlbustab põhilist arvutisuhtlust. See pakub teksti esituse standardit, võimaldades arvutitel ASCII väärtusi universaalselt ära tunda ja tõlgendada.
Igal tähel, numbril ja sümbolil, mida ASCII saab esindada, on kordumatu väärtus. Näiteks kui uurite allolevat ASCII tabelit, näete, et suurtähelised ASCII väärtused algavad 65-st, suurtähest A. Samamoodi algavad väikesed ASCII väärtused 97-st, väiketäht a.
Need väärtused on märkide numbrilised esitused, mis võimaldavad hõlpsat numbrite ja teksti vahelist teisendamist.
Iseloom |
ASCII |
Iseloom |
ASCII |
Iseloom |
ASCII |
Iseloom |
ASCII |
Iseloom |
ASCII |
Iseloom |
ASCII |
Iseloom |
ASCII |
Iseloom |
ASCII |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 |
NUL |
16 |
DEL |
32 |
SP |
48 |
0 |
64 |
@ |
80 |
P |
96 |
` |
112 |
lk |
1 |
SOH |
17 |
DC1 |
33 |
! |
49 |
1 |
65 |
A |
81 |
K |
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 |
SAAB |
40 |
( |
56 |
8 |
72 |
H |
88 |
X |
104 |
h |
120 |
x |
9 |
HT |
25 |
EM |
41 |
) |
57 |
9 |
73 |
I |
89 |
Y |
105 |
i |
121 |
y |
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 |
NII |
30 |
RS |
46 |
. |
62 |
> |
78 |
N |
94 |
^ |
110 |
n |
126 |
~ |
15 |
SI |
31 |
USA |
47 |
/ |
63 |
? |
79 |
O |
95 |
_ |
111 |
o |
127 |
DEL |
Kuidas luua Bashiga oma ASCII tabel
ASCII tabelis on nii palju väärtusi, et neid võib olla raske meelde jätta või märkmeid teha. Viitamiseks näete kõiki ASCII väärtusi koos väikese kodeeringuga teie valitud programmeerimiskeeles, sealhulgas shelliskripti.
Ülaltoodud ASCII tabelis vastab väärtus 65 tähele A ja väärtus 90 tähele Z. Selle asemel, et kõiki vahepealseid väärtusi käsitsi välja töötada, saate neid väärtusi korrata ja printida neile vastavad märgid. Nagu enamik teisi keeli, võimaldavad Bashi shelliskriptid kasutada a jaoks silmus, et korrata ühte või mitut käsku teatud arv kordi.
Proovige seda teavet kasutades kirjutada Bashi programm mis prindib kõik väärtused alates 33 kuni 126:
#!/bin/bash
kaja"ASCII tabel"
kaja""jaoks ((i=33; i<=126; i++))
teha
char=$(printf"\\x$(printf '%02x' $i)")
printf"%-10d%-10s"$i"$char"
kui (((i+1) % 4 == 0))
siis
printf"\n"
fi
tehtud
See Bashi skript määrab a-le kõik väärtused vahemikus 33 kuni 126 char muutuja ja prindib selle ekraanile. Salvestage see Bashi skript faili nimega myASCII.sh ja käivitage see järgmise käsuga ning uurige tulemust.
bash myASCII.sh
Peaksite nägema kasulikku tabelit, mis näitab ASCII-märke koos nende kümnendväärtustega:
Kuidas ASCII tabelit filtreerida
Bashi skriptiga saate teha rohkem kui lihtsalt ASCII väärtusi vaadata. Saate kontrollida üksikute märkide ASCII väärtust ja kasutada neid järgmises näites teksti filtreerimiseks.
Näiteks proovime kustutada E-tähte märksõnast MAKEUSEOF, kasutades Bashi koos ASCII-filtreerimisega. Saate kasutada otsingutabelit, et kinnitada "E" ASCII väärtus: 69.
#!/bin/bash
originaaltekst="MAKEUSEOF"
filtreeritud_tekst=""
originaal_tekst_ascii=""
filtered_text_ascii=""jaoks ((i=0; ma <${#original_text}; i++))
teha
char="${original_text: i: 1}"
char_ascii=$(printf"%d""'$char'")kui [[ "$(printf "%d" "'$char")" != "69" ]]
siis
filtreeritud_tekst+="$char"
filtered_text_ascii+=" $char_ascii"
fioriginaal_tekst_ascii+=" $char_ascii"
tehtud
kaja"Originaaltekst: $original_text (ASCII: $original_text_ascii)"
kaja"Tähe E ASCII ekvivalent: $(printf "%d" "'E'")"
kaja"Filtreeritud tekst: $filtreeritud_tekst (ASCII: $filtered_text_ascii)"
Selles skriptis on sisendmuutujaks sõna MAKEUSEOF. Skript kasutab muutujat, filtreeritud_tekst,et luua soovitud väljund, mis sisaldab kõike peale tähe "E". The jaoks silmus kordab sisendteksti iga tähemärki.
Tulemuse nägemiseks kopeerige see kood faili nimega myFilter.sh ja jookse bash myFilter.sh.
Suurtähtede teisendamine väiketähtedeks Bashis ASCII tabeli abil
Bashi abil saate ASCII tabeli abil ka suurtähti väiketähtedeks teisendada. Kui uurite 7-bitist ASCII tabelit, näete, et samade tähtede suur- ja väiketähtede väärtuste erinevus on alati 32. Seda kasutades on programmi loogika, mis suudab suurtähtedega sõna väiketähtedeks teisendada, lihtne.
Näiteks kapitali A väärtus on 65, väikese a väärtus aga 97. Seda ära kasutades saate kirjutada sellise koodilõigu:
#!/bin/bash
lugeda -lk "Sisestage tekst:" sisend
konverteeritud_tekst=""
jaoks ((i=0; ma <${#input}; i++))
teha
char="${input: i: 1}"
char_ascii=$(printf"%d""'$char'")kui [[ $char_ascii -ekv 32 ]]
siis
kaja"Vigane märk: tühik"
elif [[ $char_ascii -ge 65 && $char_ascii -le 90 ]]
siis
char_ascii=$((char_ascii + 32))
konverteeritud_tekst+=$(printf"\\$(printf '%03o' "$char_ascii")")
elif [[ $char_ascii -ge 97 && $char_ascii -le 127 ]]
siis
teisendatud_tekst+="$char"
muidu
kaja"Vigane märk: $char"
fi
tehtud
kaja"Teisendatud tekst: $converted_text"
See programm lisab iga loetava suurtähe ASCII väärtusele 32, et saada vastav väiketäht. Ise proovimiseks kopeerige see kood faili nimega väiketähtedega.sh ja käivitage see rakendusega bash to Lowcase.sh käsk.
Kas ASCII tabel töötab minu jaoks?
ASCII tabel on väärtuslik tööriist kõigile, kes töötavad tekstiandmete või programmeerimiskeeltega. See pakub märkide, numbrite ja sümbolite standardset esitust, mida arvutid üldiselt mõistavad. Olenemata sellest, kas olete programmeerija, andmeanalüütik või lihtsalt keegi, kes tegeleb tekstilise teabega, on ASCII-tabelil palju kasutusvõimalusi.
See avab võimalused selliste ülesannete jaoks nagu andmete valideerimine, tekstiga manipuleerimine ja kodeerimis-/dekodeerimistoimingud. ASCII-tabelile viidates saate kiiresti määrata tähemärgi ASCII-väärtuse või teisendada arvväärtused tagasi nende tekstiesitusteks. See toimib kommunikatsiooni ja koostalitlusvõime alusena erinevates valdkondades, muutes selle tekstiga seotud programmeerimise oluliseks viiteks.