Jeśli kiedykolwiek zajdzie potrzeba pracy z wartościami ASCII, niezbędna jest tabela przeglądowa.
W tabeli ASCII liczby reprezentują cyfry, litery i popularne symbole alfabetu angielskiego. ASCII oznacza amerykański standardowy kod wymiany informacji.
Słowo to zostało po raz pierwszy użyte przez ANSI (American National Standards Institute) w 1973 roku, aby zaspokoić zapotrzebowanie w tej dziedzinie. Jak więc wygląda tablica ASCII i jak można z niej korzystać?
Co to jest tabela ASCII i co zawiera?
ASCII to system kodowania znaków który ułatwia podstawową komunikację z komputerem. Zapewnia standard reprezentacji tekstu, umożliwiając komputerom uniwersalne rozpoznawanie i interpretację wartości ASCII.
Każda litera, cyfra i symbol, które może reprezentować ASCII, ma unikalną wartość. Na przykład, jeśli przejrzysz poniższą tabelę ASCII, zobaczysz, że wartości ASCII pisane wielkimi literami zaczynają się od 65, wielkiej litery A. Podobnie, małe litery ASCII zaczynają się od 97, małej litery a.
Wartości te służą jako numeryczne reprezentacje znaków, umożliwiając łatwą konwersję między liczbami a tekstem.
Postać |
ASCII |
Postać |
ASCII |
Postać |
ASCII |
Postać |
ASCII |
Postać |
ASCII |
Postać |
ASCII |
Postać |
ASCII |
Postać |
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 |
ST2 |
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 |
OT |
20 |
DC4 |
36 |
$ |
52 |
4 |
68 |
D |
84 |
T |
100 |
D |
116 |
T |
5 |
ENQ |
21 |
NAK |
37 |
% |
53 |
5 |
69 |
mi |
85 |
u |
101 |
mi |
117 |
u |
6 |
POK |
22 |
SYN |
38 |
& |
54 |
6 |
70 |
F |
86 |
V |
102 |
F |
118 |
w |
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 |
I |
89 |
Y |
105 |
I |
121 |
y |
10 |
LF |
26 |
POD |
42 |
* |
58 |
: |
74 |
J |
90 |
Z |
106 |
J |
122 |
z |
11 |
VT |
27 |
WYJŚCIE |
43 |
+ |
59 |
; |
75 |
k |
91 |
[ |
107 |
k |
123 |
{ |
12 |
FF |
28 |
FS |
44 |
, |
60 |
< |
76 |
Ł |
92 |
\ |
108 |
l |
124 |
| |
13 |
CR |
29 |
GS |
45 |
- |
61 |
= |
77 |
M |
93 |
] |
109 |
M |
125 |
} |
14 |
WIĘC |
30 |
RS |
46 |
. |
62 |
> |
78 |
N |
94 |
^ |
110 |
N |
126 |
~ |
15 |
SI |
31 |
NAS |
47 |
/ |
63 |
? |
79 |
O |
95 |
_ |
111 |
o |
127 |
DEL |
Jak stworzyć własną tabelę ASCII za pomocą Bash
W tabeli ASCII jest tak wiele wartości, że zapamiętywanie lub robienie notatek może być trudne. Dla porównania możesz zobaczyć wszystkie wartości ASCII z niewielkim kodowaniem w wybranym języku programowania, w tym w skrypcie powłoki.
W powyższej tabeli ASCII wartość 65 odpowiada literze A, a wartość 90 odpowiada literze Z. Zamiast ręcznie wyliczać wszystkie wartości pośrednie, możesz je iterować i drukować odpowiadające im znaki. Podobnie jak w przypadku większości innych języków, skrypty powłoki Bash umożliwiają korzystanie z Do pętla, aby powtórzyć jedną lub więcej instrukcji określoną liczbę razy.
Korzystając z tych informacji, spróbuj napisać program w bashu który drukuje wszystkie wartości od 33 do 126:
#!/bin/bash
Echo„Tabela ASCII”
Echo""Do ((i=33; i<=126; i++))
Do
znak=$(drukujf"\\X$(printf '%02x' $i)")
drukujf"%-10d%-10s"$i"$znak"
Jeśli (((i+1) % 4 == 0))
Następnie
drukujf"\N"
fi
zrobione
Ten skrypt Bash przypisuje wszystkie wartości między 33 a 126 do a zwęglać zmiennej i wyświetla ją na ekranie. Zapisz ten skrypt Bash w pliku o nazwie mójASCII.sh i uruchom go za pomocą następującego polecenia i sprawdź wynik.
bash mójASCII.sh
Powinieneś zobaczyć przydatną tabelę przedstawiającą znaki ASCII wraz z ich wartościami dziesiętnymi:
Jak filtrować tabelę ASCII
Za pomocą skryptu Bash możesz zrobić więcej niż tylko przeglądać wartości ASCII. Możesz sprawdzić wartość ASCII poszczególnych znaków iw poniższym przykładzie użyć ich do filtrowania tekstu.
Na przykład spróbujmy usunąć literę E w słowie kluczowym MAKEUSEOF za pomocą Bash z filtrowaniem ASCII. Możesz użyć tabeli przeglądowej, aby potwierdzić wartość ASCII „E”: 69.
#!/bin/bash
tekst_oryginalny="ZROBIĆ UŻYTEK Z"
filtrowany_tekst=""
oryginalny_tekst_ascii=""
filtered_text_ascii=""Do ((i=0; ja<${#oryginalny_tekst}; i++))
Do
znak="${oryginalny_tekst: i: 1}"
char_ascii=$(drukujf"%D""'$znak'")Jeśli [[ "$(printf "%d" "'$znak")" != "69" ]]
Następnie
filtrowany_tekst+="$znak"
filtered_text_ascii+=" $char_ascii"
fioryginalny_tekst_ascii+=" $char_ascii"
zrobione
Echo"Oryginalny tekst: $oryginalny_tekst (ASCII: $original_text_ascii)"
Echo„odpowiednik ASCII litery E: $(printf "%d" "'E'")"
Echo„Filtrowany tekst: $filtrowany_tekst (ASCII: $filtered_text_ascii)"
W tym skrypcie zmienną wejściową jest słowo MAKEUSEOF. Skrypt wykorzystuje zmienną, filtrowany_tekst, aby zbudować żądane wyjście, które zawiera wszystko oprócz litery „E”. The Do pętla iteruje przez każdy znak w tekście wejściowym.
Aby zobaczyć wynik, skopiuj ten kod do pliku o nazwie mójFilter.sh i biegnij bash myFilter.sh.
Konwersja wielkich liter na małe w Bash przy użyciu tabeli ASCII
Możesz także konwertować wielkie litery na małe litery za pomocą Bash, korzystając z tabeli ASCII. Kiedy przyjrzysz się 7-bitowej tablicy ASCII, zobaczysz, że różnica między dużymi i małymi wartościami tych samych liter wynosi zawsze 32. Używając tego, logika programu, który może konwertować słowo pisane wielkimi literami na małe, jest prosta.
Na przykład duże A ma wartość 65, a małe a ma wartość 97. Korzystając z tego, możesz napisać taki fragment kodu:
#!/bin/bash
Czytać -P "Wpisz tekst: " wejście
przekonwertowany_tekst=""
Do ((i=0; ja<${#wejście}; i++))
Do
znak="${wejście: i: 1}"
char_ascii=$(drukujf"%D""'$znak'")Jeśli [[ $char_ascii -równ. 32 ]]
Następnie
Echo„Nieprawidłowy znak: spacja”
Elif [[ $char_ascii -ge 65 && $char_ascii -le 90 ]]
Następnie
char_ascii=$((char_ascii + 32))
przekonwertowany_tekst+=$(drukujf"\\$(printf '%03o' "$char_ascii")")
Elif [[ $char_ascii -ge 97 && $char_ascii -le 127 ]]
Następnie
przekonwertowany_tekst+="$znak"
w przeciwnym razie
Echo"Nieprawidłowy znak: $znak"
fi
zrobione
Echo„Przekonwertowany tekst: $przekonwertowany_tekst"
Ten program dodaje 32 do wartości ASCII każdej odczytanej dużej litery, aby otrzymać odpowiednią małą literę. Aby spróbować samemu, skopiuj ten kod do pliku o nazwie doMałe litery.sh i uruchom go z bash na małe litery.sh Komenda.
Czy tabela ASCII będzie działać dla mnie?
Tabela ASCII jest cennym narzędziem dla każdego, kto pracuje z danymi tekstowymi lub językami programowania. Oferuje standardową reprezentację znaków, liczb i symboli, które są powszechnie rozumiane przez komputery. Niezależnie od tego, czy jesteś programistą, analitykiem danych, czy po prostu osobą zajmującą się informacjami tekstowymi, tablica ASCII ma wiele zastosowań.
Otwiera to możliwości dla zadań takich jak sprawdzanie poprawności danych, manipulowanie tekstem oraz operacje kodowania/dekodowania. Odwołując się do tabeli ASCII, można szybko określić wartość ASCII znaku lub przekonwertować wartości liczbowe z powrotem na ich reprezentację tekstową. Służy jako podstawa komunikacji i interoperacyjności w różnych dziedzinach, co czyni go niezbędnym punktem odniesienia dla programowania tekstowego.