אם אי פעם יהיה לך צורך לעבוד עם ערכי 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 |
ש |
97 |
א |
113 |
ש |
2 |
STX |
18 |
DC2 |
34 |
" |
50 |
2 |
66 |
ב |
82 |
ר |
98 |
ב |
114 |
ר |
3 |
ETX |
19 |
DC3 |
35 |
# |
51 |
3 |
67 |
ג |
83 |
ס |
99 |
ג |
115 |
ס |
4 |
EOT |
20 |
DC4 |
36 |
$ |
52 |
4 |
68 |
ד |
84 |
ט |
100 |
ד |
116 |
ט |
5 |
ENQ |
21 |
NAK |
37 |
% |
53 |
5 |
69 |
ה |
85 |
U |
101 |
ה |
117 |
u |
6 |
ACK |
22 |
SYN |
38 |
& |
54 |
6 |
70 |
ו |
86 |
V |
102 |
ו |
118 |
v |
7 |
BEL |
23 |
ETB |
39 |
' |
55 |
7 |
71 |
G |
87 |
W |
103 |
ז |
119 |
w |
8 |
BS |
24 |
פחית |
40 |
( |
56 |
8 |
72 |
ח |
88 |
איקס |
104 |
ח |
120 |
איקס |
9 |
HT |
25 |
EM |
41 |
) |
57 |
9 |
73 |
אני |
89 |
י |
105 |
אני |
121 |
y |
10 |
LF |
26 |
תַת |
42 |
* |
58 |
: |
74 |
י |
90 |
ז |
106 |
י |
122 |
ז |
11 |
VT |
27 |
יציאה |
43 |
+ |
59 |
; |
75 |
ק |
91 |
[ |
107 |
ק |
123 |
{ |
12 |
FF |
28 |
FS |
44 |
, |
60 |
< |
76 |
ל |
92 |
\ |
108 |
ל |
124 |
| |
13 |
CR |
29 |
GS |
45 |
- |
61 |
= |
77 |
M |
93 |
] |
109 |
M |
125 |
} |
14 |
כך |
30 |
RS |
46 |
. |
62 |
> |
78 |
נ |
94 |
^ |
110 |
נ |
126 |
~ |
15 |
סִי |
31 |
לָנוּ |
47 |
/ |
63 |
? |
79 |
O |
95 |
_ |
111 |
o |
127 |
DEL |
כיצד ליצור טבלת ASCII משלך עם Bash
יש כל כך הרבה ערכים בטבלת ASCII שזה יכול להיות קשה לשנן או לרשום הערות. לעיון, אתה יכול לראות את כל ערכי ה-ASCII עם מעט קידוד בשפת התכנות שתבחר, כולל סקריפט מעטפת.
בטבלת ASCII למעלה, הערך 65 מתאים לאות A והערך 90 מתאים לאות Z. במקום לחשב את כל הערכים שביניהם באופן ידני, אתה יכול לחזור על הערכים האלה ולהדפיס את התווים המתאימים להם. כמו רוב השפות האחרות, סקריפטים של Bash shell מאפשרים לך להשתמש ב-a ל לולאה כדי לחזור על הוראות אחת או יותר מספר מסוים של פעמים.
בעזרת המידע הזה, נסה לעשות זאת לכתוב תוכנית Bash שמדפיס את כל הערכים החל מ-33 עד 126:
#!/bin/bash
הֵד"טבלת ASCII"
הֵד""ל ((i=33; i<=126; i++))
לַעֲשׂוֹת
char=$(printf"\\איקס$(printf '%02x' $i)")
printf"%-10d%-10s"$i"$char"
אם (((i+1) % 4 == 0))
לאחר מכן
printf"\n"
fi
בוצע
סקריפט Bash זה מקצה את כל הערכים בין 33 ל-126 ל-a לְהַשְׁחִיר משתנה ומדפיס אותו למסך. שמור את סקריפט Bash זה בקובץ בשם myASCII.sh והפעל אותו עם הפקודה הבאה ובחן את התוצאה.
bash myASCII.sh
אתה אמור לראות טבלה שימושית המציגה תווי ASCII לצד הערכים העשרוניים שלהם:
כיצד לסנן את טבלת ASCII
אתה יכול לעשות יותר עם סקריפט Bash מאשר רק להציג ערכי ASCII. אתה יכול לבדוק את ערך ASCII של תווים בודדים, ובדוגמה הבאה, להשתמש בהם כדי לסנן טקסט.
לדוגמה, בואו ננסה למחוק את האות E במילת המפתח MAKEUSEEOF באמצעות Bash עם סינון ASCII. אתה יכול להשתמש בטבלת החיפוש כדי לאשר את ערך ASCII של "E": 69.
#!/bin/bash
original_text="לעשות שימוש ב"
filtered_text=""
original_text_ascii=""
filtered_text_ascii=""ל ((i=0; אני<${#original_text}; i++))
לַעֲשׂוֹת
char="${original_text: i: 1}"
char_ascii=$(printf"%d""'$char'")אם [[ "$(printf "%d" "'$char")" != "69" ]]
לאחר מכן
filtered_text+="$char"
filtered_text_ascii+=" $char_ascii"
fioriginal_text_ascii+=" $char_ascii"
בוצע
הֵד"טקסט מקורי: $original_text (ASCII: $original_text_ascii)"
הֵד"מקבילה ASCII של האות E: $(printf "%d" "'E'")"
הֵד"טקסט מסונן: $filtered_text (ASCII: $filtered_text_ascii)"
בסקריפט זה, משתנה הקלט הוא המילה MAKEUSEOF. הסקריפט משתמש במשתנה, filtered_text,כדי לבנות את הפלט הרצוי שמכיל הכל מלבד האות "E". ה ל לוּלָאָה עובר דרך כל תו בטקסט הקלט.
כדי לראות את התוצאה, העתק את הקוד הזה לקובץ בשם myFilter.sh ורוץ bash myFilter.sh.
המרת אותיות גדולות לאותיות קטנות ב-Bash באמצעות טבלת ASCII
ניתן גם להמיר אותיות רישיות לאותיות קטנות עם Bash באמצעות טבלת ASCII. כאשר אתה בוחן את טבלת ASCII של 7 סיביות, תראה שההבדל בין הערכים הגדולים והקטנים של אותן אותיות הוא תמיד 32. באמצעות זה, ההיגיון של תוכנית שיכולה להמיר מילה גדולה לאותיות קטנות הוא פשוט.
לדוגמה, ערך א' גדול הוא 65, בעוד שערך א' קטן הוא 97. ניצול זה, אתה יכול לכתוב קטע קוד כמו זה:
#!/bin/bash
לקרוא -עמ' "הזן טקסט:" קֶלֶט
converted_text=""
ל ((i=0; אני<${#input}; i++))
לַעֲשׂוֹת
char="${input: i: 1}"
char_ascii=$(printf"%d""'$char'")אם [[ $char_ascii -eq 32 ]]
לאחר מכן
הֵד"תו לא חוקי: רווח"
אליף [[ $char_ascii -ge 65 && $char_ascii -le 90 ]]
לאחר מכן
char_ascii=$((char_ascii + 32))
converted_text+=$(printf"\\$(printf '%03o' "$char_ascii")")
אליף [[ $char_ascii -ge 97 && $char_ascii -le 127 ]]
לאחר מכן
converted_text+="$char"
אַחֵר
הֵד"תו לא חוקי: $char"
fi
בוצע
הֵד"טקסט שהומר: $converted_text"
תוכנית זו מוסיפה 32 לערך ASCII של כל אות גדולה שהיא קוראת כדי להגיע לאות הקטנה המתאימה. כדי לנסות את זה בעצמך, העתק את הקוד הזה לקובץ בשם tolowercase.sh ולהפעיל אותו עם bash toLowercase.sh פקודה.
האם טבלת ASCII תעבוד בשבילי?
טבלת ASCII היא כלי רב ערך לכל מי שעובד עם נתוני טקסט או שפות תכנות. הוא מציע ייצוג סטנדרטי של תווים, מספרים וסמלים שמחשבים מבינים באופן אוניברסלי. בין אם אתה מתכנת, מנתח נתונים או סתם מישהו שעוסק במידע טקסטואלי, לטבלת ASCII יש שימושים רבים.
זה פותח אפשרויות למשימות כמו אימות נתונים, מניפולציה של טקסט ופעולות קידוד/פענוח. על ידי הפניה לטבלת ASCII, אתה יכול לקבוע במהירות את ערך ASCII של תו או להמיר ערכים מספריים בחזרה לייצוגים הטקסטואליים שלהם. היא משמשת בסיס לתקשורת ויכולת פעולה הדדית בתחומים שונים, מה שהופך אותו לאסמכתא חיונית לתכנות הקשורות לטקסט.