اگر زمانی نیاز به کار با مقادیر 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
NUL
16
DEL
32
SP
48
64
80
96
112
SOH
17
DC1
33
49
65
81
97
113
STX
18
DC2
34
50
66
82
98
114
ETX
19
DC3
35
51
67
83
99
115
EOT
20
DC4
36
52
68
84
100
116
ENQ
21
NAK
37
53
69
85
101
117
ACK
22
SYN
38
54
70
86
102
118
BEL
23
ETB
39
55
71
87
103
119
لیسانس
24
می توان
40
56
72
88
104
120
HT
25
EM
41
57
73
89
105
121
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
جی اس
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 را با کمی کدنویسی در زبان برنامه نویسی انتخابی خود، از جمله یک اسکریپت پوسته، مشاهده کنید.
در جدول ASCII بالا، مقدار 65 مربوط به حرف A و مقدار 90 مربوط به حرف Z است. مانند بسیاری از زبانهای دیگر، اسکریپتهای پوسته Bash به شما امکان میدهند از یک حلقه for برای تکرار یک یا چند دستورالعمل به تعداد معینی استفاده کنید.
با استفاده از این اطلاعات، سعی کنید یک برنامه Bash بنویسید که تمام مقادیر از 33 تا 126 را چاپ کند:
#!/bin/bash
echo "ASCII Table"
echo ""
for ((i=33; i<=126; i++))
do
char=$(printf "\\x$(printf '%02x' $i)")
printf "%-10d%-10s" $i "$char"
if (((i+1) % 4 == 0))
then
printf "\n"
fi
done
این اسکریپت Bash تمام مقادیر بین 33 و 126 را به یک متغیر char اختصاص می دهد و آن را روی صفحه چاپ می کند. این اسکریپت Bash را در فایلی به نام myASCII.sh ذخیره کنید و با دستور زیر اجرا کنید و نتیجه را بررسی کنید.
bash myASCII.sh
شما باید یک جدول مفید را ببینید که کاراکترهای ASCII را در کنار مقادیر اعشاری آنها نشان می دهد:
نحوه فیلتر کردن جدول ASCII
شما می توانید با یک اسکریپت Bash کارهای بیشتری از مشاهده مقادیر ASCII انجام دهید. می توانید مقدار ASCII کاراکترهای جداگانه را بررسی کنید و در مثال زیر از آنها برای فیلتر کردن متن استفاده کنید.
به عنوان مثال، بیایید سعی کنیم حرف E را در کلمه کلیدی MAKEUSEOF با استفاده از Bash با فیلتر ASCII حذف کنیم. می توانید از جدول جستجو برای تأیید مقدار ASCII “E” استفاده کنید: 69.
#!/bin/bash
original_text="MAKEUSEOF"
filtered_text=""
original_text_ascii=""
filtered_text_ascii=""
for ((i=0; i<${#original_text}; i++))
do
char="${original_text:i:1}"
char_ascii=$(printf "%d" "'$char'")
if [[ "$(printf "%d" "'$char")" != "69" ]]
then
filtered_text+="$char"
filtered_text_ascii+=" $char_ascii"
fi
original_text_ascii+=" $char_ascii"
done
echo "Original text: $original_text (ASCII: $original_text_ascii)"
echo "ASCII equivalent of the letter E: $(printf "%d" "'E'")"
echo "Filtered text: $filtered_text (ASCII: $filtered_text_ascii)"
در این اسکریپت متغیر ورودی کلمه MAKEUSEOF است. این اسکریپت از متغیری به نام filtered_text برای ساختن خروجی مورد نظر استفاده می کند که شامل همه چیز به جز حرف “E” است. حلقه for از طریق هر کاراکتر در متن ورودی تکرار می شود.
برای مشاهده نتیجه، این کد را در فایلی به نام myFilter.sh کپی کنید و bash myFilter.sh را اجرا کنید.
تبدیل حروف بزرگ به کوچک در Bash با استفاده از جدول ASCII
همچنین می توانید با Bash حروف بزرگ را به حروف کوچک با استفاده از جدول ASCII تبدیل کنید. وقتی جدول ASCII 7 بیتی را بررسی می کنید، می بینید که تفاوت بین مقادیر بزرگ و کوچک حروف یکسان همیشه 32 است. با استفاده از این، منطق برنامه ای که می تواند یک کلمه بزرگ را به حروف کوچک تبدیل کند، ساده است.
به عنوان مثال، سرمایه A دارای ارزش 65 است، در حالی که a کوچک دارای ارزش 97 است. با استفاده از این مزیت، می توانید یک قطعه کد مانند این بنویسید:
#!/bin/bash
read -p "Enter a text: " input
converted_text=""
for ((i=0; i<${#input}; i++))
do
char="${input:i:1}"
char_ascii=$(printf "%d" "'$char'")
if [[ $char_ascii -eq 32 ]]
then
echo "Invalid character: space"
elif [[ $char_ascii -ge 65 && $char_ascii -le 90 ]]
then
char_ascii=$((char_ascii + 32))
converted_text+=$(printf "\\$(printf '%03o' "$char_ascii")")
elif [[ $char_ascii -ge 97 && $char_ascii -le 127 ]]
then
converted_text+="$char"
else
echo "Invalid character: $char"
fi
done
echo "Converted text: $converted_text"
این برنامه 32 را به مقدار ASCII هر حرف بزرگی که می خواند اضافه می کند تا به حرف کوچک مربوطه برسد. برای اینکه خودتان آن را امتحان کنید، این کد را در فایلی به نام toLowercase.sh کپی کنید و با دستور bash toLowercase.sh آن را اجرا کنید.
آیا جدول ASCII برای من کار می کند؟
جدول ASCII یک ابزار ارزشمند برای هر کسی است که با داده های متنی یا زبان های برنامه نویسی کار می کند. این یک نمایش استاندارد از کاراکترها، اعداد و نمادها را ارائه می دهد که رایانه ها به طور جهانی آن را درک می کنند. چه یک برنامه نویس، یک تحلیلگر داده، یا صرفاً شخصی که با اطلاعات متنی سروکار دارد، جدول ASCII کاربردهای زیادی دارد.
این امکان را برای کارهایی مانند اعتبارسنجی داده ها، دستکاری متن، و عملیات رمزگذاری/رمزگشایی باز می کند. با مراجعه به جدول ASCII، می توانید به سرعت مقدار ASCII یک کاراکتر را تعیین کنید یا مقادیر عددی را به نمایش متنی آن ها تبدیل کنید. این به عنوان پایه ای برای ارتباطات و قابلیت همکاری در حوزه های مختلف عمل می کند و آن را به یک مرجع ضروری برای برنامه نویسی مرتبط با متن تبدیل می کند.