Jei kada nors reikės dirbti su ASCII reikšmėmis, peržvalgos lentelė yra būtina.
ASCII lentelėje naudojami skaičiai, žymintys skaitmenis, raides ir bendruosius simbolius iš anglų kalbos abėcėlės. ASCII reiškia Amerikos standartinį informacijos mainų kodą.
Pirmą kartą šį žodį panaudojo ANSI (Amerikos nacionalinis standartų institutas) 1973 m., kad patenkintų šios srities poreikį. Taigi, kaip atrodo ASCII lentelė ir kaip ją naudoti?
Kas yra ASCII lentelė ir kas joje yra?
ASCII yra simbolių kodavimo sistema kuris palengvina pagrindinį kompiuterinį ryšį. Tai yra teksto vaizdavimo standartas, leidžiantis kompiuteriams atpažinti ir interpretuoti ASCII reikšmes visuotinai.
Kiekviena ASCII raidė, skaičius ir simbolis turi unikalią reikšmę. Pavyzdžiui, jei išnagrinėsite toliau pateiktą ASCII lentelę, pamatysite, kad didžiosios ASCII reikšmės prasideda nuo 65, didžiosios raidės A. Taip pat mažosios ASCII reikšmės prasideda nuo 97, o mažosios raidės a.
Šios reikšmės naudojamos kaip skaitiniai simbolių atvaizdai, leidžiantys lengvai konvertuoti skaičius į tekstą.
Charakteris |
ASCII |
Charakteris |
ASCII |
Charakteris |
ASCII |
Charakteris |
ASCII |
Charakteris |
ASCII |
Charakteris |
ASCII |
Charakteris |
ASCII |
Charakteris |
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 |
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 |
GALI |
40 |
( |
56 |
8 |
72 |
H |
88 |
X |
104 |
h |
120 |
x |
9 |
HT |
25 |
EM |
41 |
) |
57 |
9 |
73 |
aš |
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 |
TAIP |
30 |
RS |
46 |
. |
62 |
> |
78 |
N |
94 |
^ |
110 |
n |
126 |
~ |
15 |
SI |
31 |
JAV |
47 |
/ |
63 |
? |
79 |
O |
95 |
_ |
111 |
o |
127 |
DEL |
Kaip sukurti savo ASCII lentelę su „Bash“.
ASCII lentelėje yra tiek daug reikšmių, kad gali būti sunku įsiminti ar užsirašyti. Norėdami gauti informacijos, galite pamatyti visas ASCII reikšmes su nedideliu kodavimu jūsų pasirinkta programavimo kalba, įskaitant apvalkalo scenarijų.
Aukščiau pateiktoje ASCII lentelėje reikšmė 65 atitinka raidę A, o reikšmė 90 – raidę Z. Užuot nustatę visas reikšmes rankiniu būdu, galite kartoti tas reikšmes ir išspausdinti atitinkamus simbolius. Kaip ir dauguma kitų kalbų, „Bash“ apvalkalo scenarijai leidžia naudoti a dėl ciklas, kad pakartotumėte vieną ar daugiau instrukcijų tam tikrą skaičių kartų.
Naudodamiesi šia informacija, pabandykite parašyti Bash programą kuri spausdina visas reikšmes nuo 33 iki 126:
#!/bin/bash
aidas"ASCII lentelė"
aidas""dėl ((i=33; i<=126; aš++))
daryti
char=$(printf"\\x$(printf '%02x' $i)")
printf"%-10d%-10s"$i"$char"
jeigu (((i+1) % 4 == 0))
tada
printf"\n"
fi
padaryta
Šis „Bash“ scenarijus priskiria visas reikšmes nuo 33 iki 126 a char kintamąjį ir išspausdina jį ekrane. Išsaugokite šį „Bash“ scenarijų faile pavadinimu myASCII.sh ir paleiskite jį naudodami šią komandą ir patikrinkite rezultatą.
bash myASCII.sh
Turėtumėte pamatyti naudingą lentelę, kurioje ASCII simboliai rodomi kartu su jų dešimtainėmis reikšmėmis:
Kaip filtruoti ASCII lentelę
Naudodami „Bash“ scenarijų galite nuveikti daugiau nei tik peržiūrėti ASCII reikšmes. Galite patikrinti atskirų simbolių ASCII reikšmę ir toliau pateiktame pavyzdyje naudoti juos tekstui filtruoti.
Pavyzdžiui, pabandykime ištrinti E raidę iš raktinio žodžio MAKEUSEOF naudodami Bash su ASCII filtravimu. Galite naudoti peržvalgos lentelę, kad patvirtintumėte ASCII reikšmę „E“: 69.
#!/bin/bash
originalus_tekstas="PASINAUDOTI"
filtruotas_tekstas=""
original_text_ascii=""
filtered_text_ascii=""dėl ((i=0; aš <${#original_text}; aš++))
daryti
char="${original_text: i: 1}"
char_ascii=$(printf„%d“"'$char'")jeigu [[ "$(printf "%d" "'$char")" != "69" ]]
tada
filtruotas_tekstas+="$char"
filtruotas_tekstas_ascii+=" $char_ascii"
fioriginal_text_ascii+=" $char_ascii"
padaryta
aidas"Originalus tekstas: $original_text (ASCII: $original_text_ascii)"
aidas"ASCII raidės E atitikmuo: $(printf "%d" ""E")"
aidas„Filtruotas tekstas: $filtruotas_tekstas (ASCII: $filtered_text_ascii)"
Šiame scenarijuje įvesties kintamasis yra žodis MAKEUSEOF. Scenarijus naudoja kintamąjį, filtruotas_tekstas, sukurti norimą išvestį, kurioje yra viskas, išskyrus raidę "E". The dėl kilpa kartojasi per kiekvieną įvesties teksto simbolį.
Norėdami pamatyti rezultatą, nukopijuokite šį kodą į failą pavadinimu myFilter.sh ir bėgti bash myFilter.sh.
Didžiųjų raidžių konvertavimas į mažąsias „Bash“ naudojant ASCII lentelę
Taip pat galite konvertuoti didžiąsias raides į mažąsias raides naudodami „Bash“, naudodami ASCII lentelę. Išnagrinėję 7 bitų ASCII lentelę pamatysite, kad skirtumas tarp tų pačių raidžių didžiųjų ir mažųjų raidžių verčių visada yra 32. Naudojant tai, programos, galinčios paversti didžiosiomis raidėmis žodį į mažąsias raides, logika yra nesudėtinga.
Pavyzdžiui, didžiosios A vertės yra 65, o mažosios a vertės yra 97. Pasinaudodami tuo, galite parašyti tokį kodo fragmentą:
#!/bin/bash
skaityti -p "Įveskite tekstą:" įvestis
konvertuotas_tekstas=""
dėl ((i=0; aš <${#input}; aš++))
daryti
char="${input: i: 1}"
char_ascii=$(printf„%d“"'$char'")jeigu [[ $char_ascii -32 lygtis ]]
tada
aidas"Netinkamas simbolis: tarpas"
elifas [[ $char_ascii -65 metų ir& $char_ascii -le 90 ]]
tada
char_ascii=$((char_ascii + 32))
konvertuotas_tekstas+=$(printf"\\$(printf '%03o' "$char_ascii")")
elifas [[ $char_ascii -ge 97 && $char_ascii -le 127 ]]
tada
konvertuotas_tekstas+="$char"
Kitas
aidas"Neteisingas simbolis: $char"
fi
padaryta
aidas"Konvertuotas tekstas: $konvertuotas_tekstas"
Ši programa prideda 32 prie kiekvienos perskaitytos didžiosios raidės ASCII reikšmės, kad gautų atitinkamą mažąją raidę. Norėdami patys išbandyti, nukopijuokite šį kodą į failą, vadinamą mažosiomis raidėmis.sh ir paleiskite jį su bash to Lowercase.sh komandą.
Ar ASCII lentelė man tiks?
ASCII lentelė yra vertingas įrankis visiems, dirbantiems su tekstiniais duomenimis ar programavimo kalbomis. Jis siūlo standartinį simbolių, skaičių ir simbolių atvaizdavimą, kurį kompiuteriai supranta. Nesvarbu, ar esate programuotojas, duomenų analitikas ar tiesiog asmuo, dirbantis su tekstine informacija, ASCII lentelė gali būti naudojama daug.
Tai atveria galimybes atlikti tokias užduotis kaip duomenų patvirtinimas, manipuliavimas tekstu ir kodavimo / dekodavimo operacijos. Remdamiesi ASCII lentele, galite greitai nustatyti simbolio ASCII reikšmę arba konvertuoti skaitines reikšmes atgal į jų tekstinius vaizdus. Jis naudojamas kaip komunikacijos ir sąveikos įvairiose srityse pagrindas, todėl tai yra esminė su tekstu susijusio programavimo nuoroda.