Ha valaha is ASCII-értékekkel kell dolgoznia, egy keresőtábla elengedhetetlen.
Az ASCII-tábla számokat használ az angol ábécé számjegyeinek, betűinek és gyakori szimbólumainak megjelenítésére. Az ASCII az American Standard Code for Information Interchange rövidítése.
A szót először az ANSI (Amerikai Nemzeti Szabványügyi Intézet) használta 1973-ban, hogy kielégítse az igényt ezen a területen. Tehát hogyan néz ki az ASCII tábla, és hogyan használhatod?
Mi az ASCII-tábla és mit tartalmaz?
Az ASCII egy karakterkódoló rendszer amely megkönnyíti az alapvető számítógépes kommunikációt. Szabványt biztosít a szöveges megjelenítéshez, lehetővé téve a számítógépek számára az ASCII értékek univerzális felismerését és értelmezését.
Minden betű, szám és szimbólum, amelyet az ASCII képes képviselni, egyedi értékkel rendelkezik. Például, ha megvizsgálja az alábbi ASCII-táblázatot, látni fogja, hogy a nagybetűs ASCII-értékek 65-től, a nagy A betűtől kezdődnek. Hasonlóképpen a kisbetűs ASCII értékek 97-től kezdődnek, a kisbetű a.
Ezek az értékek a karakterek numerikus ábrázolásaként szolgálnak, lehetővé téve a számok és szövegek közötti egyszerű konverziót.
karakter |
ASCII |
karakter |
ASCII |
karakter |
ASCII |
karakter |
ASCII |
karakter |
ASCII |
karakter |
ASCII |
karakter |
ASCII |
karakter |
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 |
TUD |
40 |
( |
56 |
8 |
72 |
H |
88 |
x |
104 |
h |
120 |
x |
9 |
HT |
25 |
EM |
41 |
) |
57 |
9 |
73 |
én |
89 |
Y |
105 |
én |
121 |
y |
10 |
LF |
26 |
ALATTI |
42 |
* |
58 |
: |
74 |
J |
90 |
Z |
106 |
j |
122 |
z |
11 |
VT |
27 |
KILÉPÉS |
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 |
ÍGY |
30 |
RS |
46 |
. |
62 |
> |
78 |
N |
94 |
^ |
110 |
n |
126 |
~ |
15 |
SI |
31 |
MINKET |
47 |
/ |
63 |
? |
79 |
O |
95 |
_ |
111 |
o |
127 |
DEL |
Hogyan hozhat létre saját ASCII-táblát a Bash segítségével
Az ASCII-táblázatban annyi érték található, hogy nehéz lehet megjegyezni vagy jegyzetelni. Referenciaként megtekintheti az összes ASCII értéket egy kis kódolással a választott programozási nyelven, beleértve a shell scriptet is.
A fenti ASCII-táblázatban a 65-ös érték az A betűnek, a 90-es pedig a Z betűnek felel meg. Ahelyett, hogy az összes közötti értéket manuálisan dolgozná ki, ismételheti ezeket az értékeket, és kinyomtathatja a megfelelő karaktereket. A legtöbb más nyelvhez hasonlóan a Bash shell szkriptek is lehetővé teszik a számára ciklus egy vagy több utasítás bizonyos számú megismétléséhez.
Ezen információk alapján próbálja meg írj egy Bash programot amely kiírja az összes értéket 33-tól 126-ig:
#!/bin/bash
visszhang"ASCII táblázat"
visszhang""számára ((i=33; i<=126; én++))
csináld
char=$(printf"\\x$(printf '%02x' $i)")
printf"%-10d%-10s"$i"$char"
ha (((i+1) % 4 == 0))
akkor
printf"\n"
fi
Kész
Ez a Bash-szkript minden 33 és 126 közötti értéket hozzárendel a char változót, és kiírja a képernyőre. Mentse ezt a Bash-szkriptet egy nevű fájlba myASCII.sh és futtassa a következő paranccsal, és vizsgálja meg az eredményt.
bash myASCII.sh
Látnia kell egy hasznos táblázatot, amely az ASCII karaktereket mutatja a decimális értékeik mellett:
Az ASCII-tábla szűrése
A Bash-szkripttel többet tehet, mint az ASCII-értékek megtekintése. Megvizsgálhatja az egyes karakterek ASCII-értékét, és a következő példában ezeket használhatja szövegszűrésre.
Például próbáljuk meg törölni az E betűt a MAKEUSEOF kulcsszóból Bash használatával ASCII szűréssel. A keresőtáblázat segítségével megerősítheti az "E" ASCII értékét: 69.
#!/bin/bash
eredeti_szöveg="KIHASZNÁLNI"
filtered_text=""
original_text_ascii=""
filtered_text_ascii=""számára ((i=0; én<${#original_text}; én++))
csináld
char="${original_text: i: 1}"
char_ascii=$(printf"%d""'$char'")ha [[ "$(printf "%d" "'$char")" != "69" ]]
akkor
szűrt_szöveg+="$char"
filtered_text_ascii+=" $char_ascii"
fieredeti_szöveg_ascii+=" $char_ascii"
Kész
visszhang"Eredeti szöveg: $eredeti_szöveg (ASCII: $original_text_ascii)"
visszhang"Az E betű ASCII megfelelője: $(printf "%d" "'E'")"
visszhang"Szűrt szöveg: $szűrt_szöveg (ASCII: $filtered_text_ascii)"
Ebben a szkriptben a bemeneti változó a MAKEUSEOF szó. A szkript változót használ, szűrt_szöveg,a kívánt kimenet felépítéséhez, amely mindent tartalmaz, kivéve az "E" betűt. A számára hurok végighalad a beviteli szöveg minden karakterén.
Az eredmény megtekintéséhez másolja ezt a kódot egy nevű fájlba myFilter.sh és fuss bash myFilter.sh.
Nagybetűk átalakítása kisbetűkre a Bash-ban az ASCII-tábla használatával
A Bash segítségével nagybetűket kisbetűkké alakíthat át az ASCII-tábla segítségével. Ha megvizsgálja a 7 bites ASCII táblát, látni fogja, hogy ugyanazon betűk nagy- és kisbetűs értékei között mindig 32 a különbség. Ennek segítségével a nagybetűs szót kisbetűssé alakító program logikája egyértelmű.
Például a tőke A értéke 65, míg a kis A értéke 97. Ezt kihasználva egy ilyen kódrészletet írhat:
#!/bin/bash
olvas -o "Írjon be egy szöveget:" bemenet
converted_text=""
számára ((i=0; én<${#input}; én++))
csináld
char="${input: i: 1}"
char_ascii=$(printf"%d""'$char'")ha [[ $char_ascii -32. egyenlet ]]
akkor
visszhang"Érvénytelen karakter: szóköz"
elif [[ $char_ascii -ge 65 && $char_ascii -le 90 ]]
akkor
char_ascii=$((char_ascii + 32))
konvertált_szöveg+=$(printf"\\$(printf '%03o' "$char_ascii")")
elif [[ $char_ascii -ge 97 && $char_ascii -le 127 ]]
akkor
konvertált_szöveg+="$char"
más
visszhang"Érvénytelen karakter: $char"
fi
Kész
visszhang"Konvertált szöveg: $konvertált_szöveg"
Ez a program minden egyes beolvasott nagybetű ASCII-értékéhez 32-t ad, hogy megkapja a megfelelő kisbetűt. Ha saját kezűleg szeretné kipróbálni, másolja ezt a kódot egy nevű fájlba kisbetűs.sh és futtassa a bash toLowercase.sh parancs.
Működni fog az ASCII-tábla?
Az ASCII tábla értékes eszköz bárki számára, aki szöveges adatokkal vagy programozási nyelvekkel dolgozik. A karakterek, számok és szimbólumok szabványos megjelenítését kínálja, amelyeket a számítógépek általánosan megértenek. Legyen szó programozóról, adatelemzőről vagy egyszerűen csak szöveges információkkal foglalkozó személyről, az ASCII-táblázatnak számos felhasználási lehetősége van.
Ez olyan feladatokat nyit meg, mint az adatellenőrzés, a szövegkezelés és a kódolási/dekódolási műveletek. Az ASCII-táblázatra hivatkozva gyorsan meghatározhatja egy karakter ASCII-értékét, vagy visszakonvertálhatja a numerikus értékeket szöveges megjelenítésükre. A kommunikáció és az interoperabilitás alapjául szolgál különböző területeken, így a szöveges programozás alapvető hivatkozási pontja.