إذا احتجت في أي وقت إلى العمل مع قيم ASCII ، فإن جدول البحث ضروري.

يستخدم جدول ASCII الأرقام لتمثيل الأرقام والحروف والرموز الشائعة من الأبجدية الإنجليزية. يرمز ASCII إلى الكود القياسي الأمريكي لتبادل المعلومات.

تم استخدام الكلمة لأول مرة من قبل ANSI (المعهد الوطني الأمريكي للمعايير) في عام 1973 لسد الحاجة في هذا المجال. إذن كيف يبدو جدول ASCII وكيف يمكنك استخدامه؟

ما هو جدول ASCII وماذا يحتوي؟

ASCII هو نظام ترميز أحرف التي تسهل الاتصال الحاسوبي الأساسي. يوفر معيارًا لتمثيل النص ، مما يسمح لأجهزة الكمبيوتر بالتعرف على قيم ASCII وتفسيرها عالميًا.

كل حرف ورقم ورمز يمكن أن يمثله ASCII له قيمة فريدة. على سبيل المثال ، إذا قمت بفحص جدول ASCII أدناه ، فسترى أن قيم ASCII الكبيرة تبدأ من 65 ، الحرف الكبير A. وبالمثل ، تبدأ قيم ASCII الصغيرة من 97 ، الحرف الصغير a.

تعمل هذه القيم كتمثيل رقمي للأحرف ، مما يتيح سهولة التحويل بين الأرقام والنصوص.

instagram viewer

شخصية

ASCII

شخصية

ASCII

شخصية

ASCII

شخصية

ASCII

شخصية

ASCII

شخصية

ASCII

شخصية

ASCII

شخصية

ASCII

0

نول

16

دل

32

SP

48

0

64

@

80

ص

96

`

112

ص

1

سوه

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

يو

101

ه

117

ش

6

ACK

22

SYN

38

&

54

6

70

F

86

الخامس

102

F

118

الخامس

7

BEL

23

ETB

39

'

55

7

71

جي

87

دبليو

103

ز

119

ث

8

بكالوريوس

24

يستطيع

40

(

56

8

72

ح

88

X

104

ح

120

x

9

HT

25

م

41

)

57

9

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

سجل تجاري

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

دل

كيف تصنع جدول ASCII الخاص بك باستخدام Bash

توجد العديد من القيم في جدول ASCII بحيث يصعب حفظها أو تدوينها. كمرجع ، يمكنك رؤية جميع قيم ASCII مع القليل من الترميز بلغة البرمجة التي تختارها ، بما في ذلك برنامج shell النصي.

في جدول ASCII أعلاه ، تتوافق القيمة 65 مع الحرف A والقيمة 90 تقابل الحرف Z. بدلاً من العمل على جميع القيم الموجودة بينهما يدويًا ، يمكنك تكرار هذه القيم وطباعة الأحرف المقابلة لها. مثل معظم اللغات الأخرى ، تتيح لك برامج Bash shell النصية استخدام ملف ل تكرار تكرار واحد أو أكثر من التعليمات لعدد معين من المرات.

باستخدام هذه المعلومات ، حاول اكتب برنامج باش يطبع جميع القيم بدءًا من 33 إلى 126:

#! / بن / باش

صدى صوت"جدول ASCII"
صدى صوت""

ل ((أنا = 33 ؛ أنا <= 126 ؛ أنا ++))
يفعل
char = $ (printf"\\ x$ (printf '٪ 02x' $ i)")
printf"٪ -10d٪ -10s"أنا $"شار"

لو (((i + 1)٪ 4 == 0))
ثم
printf"\ن"
فاي
منتهي

يقوم برنامج Bash النصي هذا بتعيين جميع القيم بين 33 و 126 إلى ملف شار متغير ويطبعه على الشاشة. احفظ هذا البرنامج النصي Bash في ملف باسم myASCII.sh وقم بتشغيله باستخدام الأمر التالي وفحص النتيجة.

bash myASCII.sh

يجب أن ترى جدولًا مفيدًا يعرض أحرف ASCII جنبًا إلى جنب مع قيمها العشرية:

كيفية تصفية جدول ASCII

يمكنك فعل المزيد باستخدام برنامج Bash النصي أكثر من مجرد عرض قيم ASCII. يمكنك فحص قيمة ASCII للأحرف الفردية ، وفي المثال التالي ، استخدمها لتصفية النص.

على سبيل المثال ، لنحاول حذف الحرف E في الكلمة الأساسية MAKEUSEOF باستخدام Bash مع تصفية ASCII. يمكنك استخدام جدول البحث لتأكيد قيمة ASCII لـ "E": 69.

#! / بن / باش
original_text ="MAKEUSEOF"
filtered_text =""
original_text_ascii =""
filtered_text_ascii =""

ل ((أنا = 0 ؛ أنا <$ {# original_text}; أنا ++))
يفعل
شار ="$ {original_text: i: 1}"
char_ascii = $ (printf"٪د""'شار'")

لو [[ "$ (printf "٪ d" "'$ char")" != "69" ]]
ثم
filtered_text + ="شار"
filtered_text_ascii + =" char_ascii دولار"
فاي

original_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. باستخدام هذا ، يكون منطق البرنامج الذي يمكنه تحويل كلمة كبيرة إلى أحرف صغيرة واضحًا.

على سبيل المثال ، قيمة رأس المال A هي 65 ، بينما قيمة الحرف الصغير a هي 97. الاستفادة من هذا ، يمكنك كتابة مقتطف رمز مثل هذا:

#! / بن / باش

يقرأ -p "أدخل نصًا:" مدخل

convert_text =""

ل ((أنا = 0 ؛ أنا <$ {# input}; أنا ++))
يفعل
شار ="$ {input: i: 1}"
char_ascii = $ (printf"٪د""'شار'")

لو [[ char_ascii دولار - مكافئ 32]]
ثم
صدى صوت"حرف غير صالح: مسافة"
أليف [[ char_ascii دولار -عمر 65 && char_ascii دولار -ل 90]]
ثم
char_ascii = $ ((char_ascii + 32))
convert_text + = $ (printf"\\$ (printf '٪ 03o' "$ char_ascii")")
أليف [[ char_ascii دولار -عمر 97 && char_ascii دولار -le 127]]
ثم
convert_text + ="شار"
آخر
صدى صوت"حرف غير صالح: شار"
فاي
منتهي

صدى صوت"نص تم تحويله: $ convert_text"

يضيف هذا البرنامج 32 إلى قيمة ASCII لكل حرف كبير يقرأه للوصول إلى الحرف الصغير المقابل. لتجربتها بنفسك ، انسخ هذا الرمز إلى ملف يسمى toLowercase.sh وتشغيله مع bash toLowercase.sh يأمر.

هل سيعمل جدول ASCII لي؟

يعد جدول ASCII أداة قيمة لأي شخص يعمل مع البيانات النصية أو لغات البرمجة. يقدم تمثيلًا قياسيًا للأحرف والأرقام والرموز التي تفهمها أجهزة الكمبيوتر عالميًا. سواء كنت مبرمجًا أو محلل بيانات أو مجرد شخص يتعامل مع المعلومات النصية ، فإن جدول ASCII له العديد من الاستخدامات.

هذا يفتح إمكانيات لمهام مثل التحقق من صحة البيانات ، ومعالجة النص ، وعمليات الترميز / فك التشفير. بالرجوع إلى جدول ASCII ، يمكنك تحديد قيمة ASCII للحرف بسرعة أو تحويل القيم الرقمية إلى تمثيلاتها النصية. إنه بمثابة أساس للتواصل والتشغيل البيني في مختلف المجالات ، مما يجعله مرجعًا أساسيًا للبرمجة المتعلقة بالنص.