Ja jums kādreiz ir nepieciešams strādāt ar ASCII vērtībām, uzmeklēšanas tabula ir būtiska.
ASCII tabulā tiek izmantoti skaitļi, lai attēlotu ciparus, burtus un parastos simbolus no angļu valodas alfabēta. ASCII ir Amerikas standarta informācijas apmaiņas kods.
Šo vārdu pirmo reizi izmantoja ANSI (Amerikas Nacionālais standartu institūts) 1973. gadā, lai aizpildītu vajadzību šajā jomā. Tātad, kā izskatās ASCII tabula un kā to izmantot?
Kas ir ASCII tabula un ko tā satur?
ASCII ir rakstzīmju kodēšanas sistēma kas atvieglo pamata saziņu ar datoru. Tas nodrošina teksta attēlojuma standartu, ļaujot datoriem atpazīt un interpretēt ASCII vērtības universāli.
Katram burtam, ciparam un simbolam, ko var attēlot ASCII, ir unikāla vērtība. Piemēram, ja apskatīsit tālāk esošo ASCII tabulu, redzēsit, ka lielie ASCII vērtības sākas ar 65 — lielo burtu A. Tāpat mazo ASCII vērtības sākas ar 97, bet mazais burts a.
Šīs vērtības kalpo kā rakstzīmju skaitliski attēlojumi, kas ļauj viegli konvertēt starp cipariem un tekstu.
Raksturs |
ASCII |
Raksturs |
ASCII |
Raksturs |
ASCII |
Raksturs |
ASCII |
Raksturs |
ASCII |
Raksturs |
ASCII |
Raksturs |
ASCII |
Raksturs |
ASCII |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 |
NUL |
16 |
DEL |
32 |
SP |
48 |
0 |
64 |
@ |
80 |
P |
96 |
` |
112 |
lpp |
1 |
SOH |
17 |
DC1 |
33 |
! |
49 |
1 |
65 |
A |
81 |
J |
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 |
VAR |
40 |
( |
56 |
8 |
72 |
H |
88 |
X |
104 |
h |
120 |
x |
9 |
HT |
25 |
EM |
41 |
) |
57 |
9 |
73 |
es |
89 |
Y |
105 |
i |
121 |
y |
10 |
LF |
26 |
SUB |
42 |
* |
58 |
: |
74 |
Dž |
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 |
ASV |
47 |
/ |
63 |
? |
79 |
O |
95 |
_ |
111 |
o |
127 |
DEL |
Kā izveidot savu ASCII tabulu ar Bash
ASCII tabulā ir tik daudz vērtību, ka var būt grūti iegaumēt vai veikt piezīmes. Uzziņai varat redzēt visas ASCII vērtības ar nelielu kodējumu jūsu izvēlētajā programmēšanas valodā, tostarp čaulas skriptu.
Iepriekš esošajā ASCII tabulā vērtība 65 atbilst burtam A un vērtība 90 atbilst burtam Z. Tā vietā, lai manuāli izstrādātu visas starpās esošās vērtības, varat atkārtot šīs vērtības un izdrukāt tām atbilstošās rakstzīmes. Tāpat kā lielākā daļa citu valodu, Bash čaulas skripti ļauj izmantot a priekš cilpa, lai noteiktu skaitu reižu atkārtotu vienu vai vairākas instrukcijas.
Izmantojot šo informāciju, mēģiniet uzrakstīt Bash programmu kas drukā visas vērtības, sākot no 33 līdz 126:
#!/bin/bash
atbalss"ASCII tabula"
atbalss""priekš ((i=33; i<=126; i++))
darīt
char=$(printf"\\x$(printf '%02x' $i)")
printf"%-10d%-10s"$i"$char"
ja (((i+1) % 4 == 0))
tad
printf"\n"
fi
darīts
Šis Bash skripts piešķir visas vērtības no 33 līdz 126 a char mainīgo un izdrukā to uz ekrāna. Saglabājiet šo Bash skriptu failā ar nosaukumu myASCII.sh un palaidiet to ar šādu komandu un pārbaudiet rezultātu.
bash myASCII.sh
Jums vajadzētu redzēt noderīgu tabulu, kurā ir parādītas ASCII rakstzīmes līdzās to decimālvērtībām:
Kā filtrēt ASCII tabulu
Ar Bash skriptu varat paveikt vairāk, nekā tikai skatīt ASCII vērtības. Varat pārbaudīt atsevišķu rakstzīmju ASCII vērtību un nākamajā piemērā izmantot tās teksta filtrēšanai.
Piemēram, mēģināsim izdzēst burtu E atslēgvārdā MAKEUSEOF, izmantojot Bash ar ASCII filtrēšanu. Varat izmantot uzmeklēšanas tabulu, lai apstiprinātu "E" ASCII vērtību: 69.
#!/bin/bash
sākotnējais_teksts="IZMANTOT"
filtrēts_teksts=""
original_text_ascii=""
filtered_text_ascii=""priekš ((i=0; es<${#original_text}; i++))
darīt
char="${original_text: i: 1}"
char_ascii=$(printf"%d""'$char'")ja [[ "$(printf "%d" "'$char")" != "69" ]]
tad
filtrēts_teksts+="$char"
filtered_text_ascii+=" $char_ascii"
fioriginal_text_ascii+=" $char_ascii"
darīts
atbalss"Oriģinālais teksts: $original_text (ASCII: $original_text_ascii)"
atbalss"Burta E ASCII ekvivalents: $(printf "%d" ""E")"
atbalss"Filtrētais teksts: $filtrēts_teksts (ASCII: $filtered_text_ascii)"
Šajā skriptā ievades mainīgais ir vārds MAKEUSEOF. Skripts izmanto mainīgo, filtrēts_teksts, lai izveidotu vēlamo izvadi, kurā ir viss, izņemot burtu "E". The priekš cilpa atkārto katru ievades teksta rakstzīmi.
Lai redzētu rezultātu, kopējiet šo kodu failā ar nosaukumu myFilter.sh un palaist bash myFilter.sh.
Lielo burtu konvertēšana uz mazajiem burtiem programmā Bash, izmantojot ASCII tabulu
Varat arī pārvērst lielos burtus par mazajiem burtiem, izmantojot Bash, izmantojot ASCII tabulu. Pārbaudot 7 bitu ASCII tabulu, jūs redzēsit, ka atšķirība starp to pašu burtu lielo un mazo burtu vērtībām vienmēr ir 32. Izmantojot to, programmas loģika, kas var pārvērst vārdu ar lielajiem burtiem par mazajiem burtiem, ir vienkārša.
Piemēram, kapitāla A vērtība ir 65, bet mazā A vērtība ir 97. Izmantojot šo iespēju, varat uzrakstīt šādu koda fragmentu:
#!/bin/bash
lasīt -lpp "Ievadiet tekstu:" ievade
konvertēts_teksts=""
priekš ((i=0; es<${#input}; i++))
darīt
char="${input: i: 1}"
char_ascii=$(printf"%d""'$char'")ja [[ $char_ascii -32. vienādojums ]]
tad
atbalss"Nederīga rakstzīme: atstarpe"
elifs [[ $char_ascii -ge 65 && $char_ascii -le 90 ]]
tad
char_ascii=$((char_ascii + 32))
konvertēts_teksts+=$(printf"\\$(printf '%03o' "$char_ascii")")
elifs [[ $char_ascii -ge 97 && $char_ascii -le 127 ]]
tad
konvertēts_teksts+="$char"
cits
atbalss"Nederīga rakstzīme: $char"
fi
darīts
atbalss"Konvertēts teksts: $konvertēts_teksts"
Šī programma katra nolasītā lielā burta ASCII vērtībai pievieno 32, lai iegūtu atbilstošo mazo burtu. Lai to izmēģinātu pats, kopējiet šo kodu failā ar nosaukumu uz mazo burtu.sh un palaidiet to ar bash uz Lowercase.sh komandu.
Vai ASCII tabula darbosies man?
ASCII tabula ir vērtīgs rīks ikvienam, kas strādā ar teksta datiem vai programmēšanas valodām. Tā piedāvā standarta rakstzīmju, ciparu un simbolu attēlojumu, ko datori vispār saprot. Neatkarīgi no tā, vai esat programmētājs, datu analītiķis vai vienkārši kāds, kas nodarbojas ar teksta informāciju, ASCII tabulai ir daudz pielietojumu.
Tas paver iespējas veikt tādus uzdevumus kā datu validācija, teksta manipulācijas un kodēšanas/dekodēšanas darbības. Atsaucoties uz ASCII tabulu, varat ātri noteikt rakstzīmes ASCII vērtību vai pārvērst skaitliskās vērtības atpakaļ to teksta attēlos. Tas kalpo par pamatu saziņai un savietojamībai dažādās jomās, padarot to par būtisku atsauci ar tekstu saistītai programmēšanai.