خبر و ترفند روز

خبر و ترفند های روز را اینجا بخوانید!

جدول ASCII چیست و چگونه از آن استفاده می کنید؟

اگر زمانی نیاز به کار با مقادیر 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

شما می توانید با یک اسکریپت Bash کارهای بیشتری از مشاهده مقادیر ASCII انجام دهید. می توانید مقدار ASCII کاراکترهای جداگانه را بررسی کنید و در مثال زیر از آنها برای فیلتر کردن متن استفاده کنید.

مطلب مرتبط:   React در مقابل Angular: چرا React بسیار محبوب‌تر است؟

به عنوان مثال، بیایید سعی کنیم حرف 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

تبدیل حروف بزرگ به کوچک در 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 آن را اجرا کنید.

مطلب مرتبط:   نحوه مدیریت حالت در برنامه های Astro

نمونه خروجی از فایل پوسته با حروف کوچک

آیا جدول ASCII برای من کار می کند؟

جدول ASCII یک ابزار ارزشمند برای هر کسی است که با داده های متنی یا زبان های برنامه نویسی کار می کند. این یک نمایش استاندارد از کاراکترها، اعداد و نمادها را ارائه می دهد که رایانه ها به طور جهانی آن را درک می کنند. چه یک برنامه نویس، یک تحلیلگر داده، یا صرفاً شخصی که با اطلاعات متنی سروکار دارد، جدول ASCII کاربردهای زیادی دارد.

این امکان را برای کارهایی مانند اعتبارسنجی داده ها، دستکاری متن، و عملیات رمزگذاری/رمزگشایی باز می کند. با مراجعه به جدول ASCII، می توانید به سرعت مقدار ASCII یک کاراکتر را تعیین کنید یا مقادیر عددی را به نمایش متنی آن ها تبدیل کنید. این به عنوان پایه ای برای ارتباطات و قابلیت همکاری در حوزه های مختلف عمل می کند و آن را به یک مرجع ضروری برای برنامه نویسی مرتبط با متن تبدیل می کند.