Ако някога имате нужда да работите с ASCII стойности, справочната таблица е от съществено значение.
ASCII таблицата използва числа за представяне на цифри, букви и общи символи от английската азбука. ASCII означава американски стандартен код за обмен на информация.
Думата е използвана за първи път от ANSI (Американски национален институт по стандартизация) през 1973 г., за да запълни нуждата в тази област. И така, как изглежда ASCII таблицата и как можете да я използвате?
Какво е ASCII таблица и какво съдържа?
ASCII е система за кодиране на знаци което улеснява основната компютърна комуникация. Той предоставя стандарт за представяне на текст, позволявайки на компютрите да разпознават и интерпретират ASCII стойности универсално.
Всяка буква, цифра и символ, които ASCII може да представлява, има уникална стойност. Например, ако разгледате ASCII таблицата по-долу, ще видите, че главните ASCII стойности започват от 65, главната буква A. По същия начин малките ASCII стойности започват от 97, малката буква a.
Тези стойности служат като цифрово представяне на знаци, което позволява лесно преобразуване между числа и текст.
Характер |
ASCII |
Характер |
ASCII |
Характер |
ASCII |
Характер |
ASCII |
Характер |
ASCII |
Характер |
ASCII |
Характер |
ASCII |
Характер |
ASCII |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 |
NUL |
16 |
DEL |
32 |
SP |
48 |
0 |
64 |
@ |
80 |
П |
96 |
` |
112 |
стр |
1 |
SOH |
17 |
DC1 |
33 |
! |
49 |
1 |
65 |
А |
81 |
Q |
97 |
а |
113 |
р |
2 |
STX |
18 |
DC2 |
34 |
" |
50 |
2 |
66 |
б |
82 |
Р |
98 |
b |
114 |
r |
3 |
ETX |
19 |
DC3 |
35 |
# |
51 |
3 |
67 |
° С |
83 |
С |
99 |
° С |
115 |
с |
4 |
EOT |
20 |
DC4 |
36 |
$ |
52 |
4 |
68 |
д |
84 |
T |
100 |
д |
116 |
T |
5 |
ENQ |
21 |
NAK |
37 |
% |
53 |
5 |
69 |
д |
85 |
U |
101 |
д |
117 |
u |
6 |
ACK |
22 |
SYN |
38 |
& |
54 |
6 |
70 |
Е |
86 |
V |
102 |
f |
118 |
v |
7 |
БЕЛ |
23 |
ETB |
39 |
' |
55 |
7 |
71 |
Ж |
87 |
У |
103 |
ж |
119 |
w |
8 |
BS |
24 |
МОГА |
40 |
( |
56 |
8 |
72 |
з |
88 |
х |
104 |
ч |
120 |
х |
9 |
HT |
25 |
ЕМ |
41 |
) |
57 |
9 |
73 |
аз |
89 |
Y |
105 |
аз |
121 |
г |
10 |
LF |
26 |
ПОДП |
42 |
* |
58 |
: |
74 |
Дж |
90 |
З |
106 |
й |
122 |
z |
11 |
VT |
27 |
ESC |
43 |
+ |
59 |
; |
75 |
К |
91 |
[ |
107 |
к |
123 |
{ |
12 |
FF |
28 |
FS |
44 |
, |
60 |
< |
76 |
Л |
92 |
\ |
108 |
л |
124 |
| |
13 |
CR |
29 |
GS |
45 |
- |
61 |
= |
77 |
М |
93 |
] |
109 |
м |
125 |
} |
14 |
ТАКА |
30 |
RS |
46 |
. |
62 |
> |
78 |
н |
94 |
^ |
110 |
н |
126 |
~ |
15 |
SI |
31 |
НАС |
47 |
/ |
63 |
? |
79 |
О |
95 |
_ |
111 |
о |
127 |
DEL |
Как да създадете своя собствена ASCII таблица с Bash
В ASCII таблицата има толкова много стойности, че може да е трудно да се запомни или да се водят бележки. За справка можете да видите всички ASCII стойности с малко кодиране на избрания от вас език за програмиране, включително shell скрипт.
В ASCII таблицата по-горе стойността 65 съответства на буквата A, а стойността 90 съответства на буквата Z. Вместо да изработвате ръчно всички стойности между тях, можете да обхождате тези стойности и да отпечатвате съответните им знаци. Както повечето други езици, Bash shell скриптовете ви позволяват да използвате a за цикъл за повтаряне на една или повече инструкции определен брой пъти.
Използвайки тази информация, опитайте се да напишете Bash програма който отпечатва всички стойности, започващи от 33 до 126:
#!/bin/bash
ехо"ASCII таблица"
ехо""за ((i=33; i<=126; аз++))
направи
char=$(printf"\\х$(printf '%02x' $i)")
printf"%-10d%-10s"$i"$char"
ако (((i+1) % 4 == 0))
тогава
printf"\н"
фи
Свършен
Този Bash скрипт присвоява всички стойности между 33 и 126 на a въглен променлива и я отпечатва на екрана. Запазете този Bash скрипт във файл с име myASCII.sh и го стартирайте със следната команда и прегледайте резултата.
bash myASCII.sh
Трябва да видите полезна таблица, показваща ASCII символи заедно с техните десетични стойности:
Как да филтрирате ASCII таблицата
Можете да направите повече с Bash скрипт, отколкото просто да преглеждате ASCII стойности. Можете да проверите ASCII стойността на отделните знаци и в следващия пример да ги използвате за филтриране на текст.
Например, нека се опитаме да изтрием буквата E в ключовата дума MAKEUSEOF с помощта на Bash с ASCII филтриране. Можете да използвате справочната таблица, за да потвърдите ASCII стойността на "E": 69.
#!/bin/bash
оригинален_текст="ДА СЕ ВЪЗПОЛЗВАТ ОТ"
филтриран_текст=""
оригинален_текст_ascii=""
filtered_text_ascii=""за ((i=0; аз<${#original_text}; аз++))
направи
char="${original_text: i: 1}"
char_ascii=$(printf"%д""'$char'")ако [[ "$(printf "%d" "'$char")" != "69" ]]
тогава
филтриран_текст+="$char"
филтриран_текст_ascii+=" $char_ascii"
фиоригинален_текст_ascii+=" $char_ascii"
Свършен
ехо„Оригинален текст: $оригинален_текст (ASCII: $original_text_ascii)"
ехо„ASCII еквивалент на буквата E: $(printf "%d" "'E'")"
ехо„Филтриран текст: $филтриран_текст (ASCII: $filtered_text_ascii)"
В този скрипт входната променлива е думата MAKEUSEOF. Скриптът използва променлива, филтриран_текст, за изграждане на желания изход, който съдържа всичко освен буквата "E". The за цикъл преминава през всеки знак във входния текст.
За да видите резултата, копирайте този код във файл с име myFilter.sh и бягай bash myFilter.sh.
Преобразуване на главни в малки букви в Bash с помощта на ASCII таблицата
Можете също така да конвертирате главни букви в малки букви с Bash, като използвате ASCII таблицата. Когато разгледате 7-битовата ASCII таблица, ще видите, че разликата между главните и малките букви на едни и същи букви винаги е 32. Използвайки това, логиката на програма, която може да преобразува главна дума в малка, е проста.
Например, главно A има стойност 65, докато малко a има стойност 97. Възползвайки се от това, можете да напишете кодов фрагмент като този:
#!/bin/bash
Прочети -стр „Въведете текст:“ вход
преобразуван_текст=""
за ((i=0; аз<${#вход}; аз++))
направи
char="${вход: i: 1}"
char_ascii=$(printf"%д""'$char'")ако [[ $char_ascii -eq 32 ]]
тогава
ехо„Невалиден знак: интервал“
елиф [[ $char_ascii -ge 65 && $char_ascii -le 90 ]]
тогава
char_ascii=$((char_ascii + 32))
преобразуван_текст+=$(printf"\\$(printf '%03o' "$char_ascii")")
елиф [[ $char_ascii -ge 97 && $char_ascii -le 127 ]]
тогава
преобразуван_текст+="$char"
друго
ехо"Невалиден знак: $char"
фи
Свършен
ехо„Преобразуван текст: $converted_text"
Тази програма добавя 32 към ASCII стойността на всяка прочетена главна буква, за да стигне до съответната малка буква. За да го изпробвате сами, копирайте този код във файл, наречен toLowercase.sh и го стартирайте с bash toLowercase.sh команда.
Ще работи ли ASCII таблицата за мен?
ASCII таблицата е ценен инструмент за всеки, който работи с текстови данни или езици за програмиране. Той предлага стандартно представяне на знаци, цифри и символи, които компютрите разбират навсякъде. Независимо дали сте програмист, анализатор на данни или просто някой, който се занимава с текстова информация, ASCII таблицата има много приложения.
Това отваря възможности за задачи като валидиране на данни, манипулиране на текст и операции за кодиране/декодиране. Като се позовавате на ASCII таблицата, можете бързо да определите ASCII стойността на знак или да конвертирате числови стойности обратно в техните текстови представяния. Той служи като основа за комуникация и оперативна съвместимост в различни области, което го прави основна справка за програмиране, свързано с текст.