Dacă aveți vreodată nevoie să lucrați cu valori ASCII, un tabel de căutare este esențial.

Tabelul ASCII folosește numere pentru a reprezenta cifre, litere și simboluri comune din alfabetul englez. ASCII înseamnă American Standard Code for Information Interchange.

Cuvântul a fost folosit pentru prima dată de ANSI (American National Standards Institute) în 1973 pentru a satisface nevoia în acest domeniu. Deci, cum arată tabelul ASCII și cum îl puteți folosi?

Ce este un tabel ASCII și ce conține?

ASCII este un sistem de codificare a caracterelor care facilitează comunicarea de bază cu computerul. Oferă un standard pentru reprezentarea textului, permițând computerelor să recunoască și să interpreteze valorile ASCII în mod universal.

Fiecare literă, număr și simbol pe care ASCII le poate reprezenta are o valoare unică. De exemplu, dacă examinați tabelul ASCII de mai jos, veți vedea că valorile ASCII majuscule încep de la 65, litera A majusculă. De asemenea, valorile ASCII minuscule încep de la 97, litera minusculă a.

instagram viewer

Aceste valori servesc ca reprezentări numerice ale caracterelor, permițând conversia ușoară între numere și text.

Caracter

ASCII

Caracter

ASCII

Caracter

ASCII

Caracter

ASCII

Caracter

ASCII

Caracter

ASCII

Caracter

ASCII

Caracter

ASCII

0

NUL

16

DEL

32

SP

48

0

64

@

80

P

96

`

112

p

1

DECI H

17

DC1

33

!

49

1

65

A

81

Q

97

A

113

q

2

STX

18

DC2

34

"

50

2

66

B

82

R

98

b

114

r

3

ETX

19

DC3

35

#

51

3

67

C

83

S

99

c

115

s

4

EOT

20

DC4

36

$

52

4

68

D

84

T

100

d

116

t

5

ENQ

21

NAK

37

%

53

5

69

E

85

U

101

e

117

u

6

ACK

22

SYN

38

&

54

6

70

F

86

V

102

f

118

v

7

BEL

23

ETB

39

'

55

7

71

G

87

W

103

g

119

w

8

BS

24

POATE SA

40

(

56

8

72

H

88

X

104

h

120

X

9

HT

25

EM

41

)

57

9

73

eu

89

Y

105

i

121

y

10

LF

26

SUB

42

*

58

:

74

J

90

Z

106

j

122

z

11

VT

27

ESC

43

+

59

;

75

K

91

[

107

k

123

{

12

FF

28

FS

44

,

60

<

76

L

92

\

108

l

124

|

13

CR

29

GS

45

-

61

=

77

M

93

]

109

m

125

}

14

ASA DE

30

RS

46

.

62

>

78

N

94

^

110

n

126

~

15

SI

31

NE

47

/

63

?

79

O

95

_

111

o

127

DEL

Cum să-ți creezi propriul tabel ASCII cu Bash

Există atât de multe valori în tabelul ASCII încât poate fi dificil să memorezi sau să iei notițe. Pentru referință, puteți vedea toate valorile ASCII cu o mică codare în limbajul de programare ales, inclusiv un script shell.

În tabelul ASCII de mai sus, valoarea 65 corespunde literei A, iar valoarea 90 corespunde literei Z. În loc să stabiliți manual toate valorile dintre acestea, puteți să repetați aceste valori și să le imprimați caracterele corespunzătoare. Ca majoritatea celorlalte limbi, scripturile shell Bash vă permit să utilizați a pentru buclă pentru a repeta una sau mai multe instrucțiuni de un anumit număr de ori.

Folosind aceste informații, încercați scrie un program Bash care tipărește toate valorile începând de la 33 la 126:

#!/bin/bash

ecou"Tabel ASCII"
ecou""

pentru ((i=33; i<=126; i++))
do
char=$(printf"\\X$(printf '%02x' $i)")
printf„%-10d%-10s”$i"$car"

dacă (((i+1) % 4 == 0))
apoi
printf"\n"
fi
Terminat

Acest script Bash atribuie lui a toate valorile între 33 și 126 char variabilă și o imprimă pe ecran. Salvați acest script Bash într-un fișier numit myASCII.sh și rulați-l cu următoarea comandă și examinați rezultatul.

bash myASCII.sh

Ar trebui să vedeți un tabel util care arată caracterele ASCII alături de valorile lor zecimale:

Cum se filtrează tabelul ASCII

Puteți face mai mult cu un script Bash decât să vizualizați valorile ASCII. Puteți inspecta valoarea ASCII a caracterelor individuale și, în exemplul următor, le puteți utiliza pentru a filtra textul.

De exemplu, să încercăm să ștergem litera E din cuvântul cheie MAKEUSEOF folosind Bash cu filtrare ASCII. Puteți utiliza tabelul de căutare pentru a confirma valoarea ASCII a lui „E”: 69.

#!/bin/bash
text_original="A SE FOLOSI DE"
text_filtrat=""
original_text_ascii=""
filtered_text_ascii=""

pentru ((i=0; i<${#original_text}; i++))
do
char="${original_text: i: 1}"
char_ascii=$(printf„%d”"'$car'")

dacă [[ "$(printf "%d" "'$car")" != "69" ]]
apoi
text_filtrat+="$car"
filtered_text_ascii+=" $char_ascii"
fi

original_text_ascii+=" $char_ascii"
Terminat

ecou"Text original: $original_text (ASCII: $original_text_ascii)"
ecou„Echivalentul ASCII al literei E: $(printf "%d" "'E'")"
ecou„Text filtrat: $text_filtrat (ASCII: $filtered_text_ascii)"

În acest script, variabila de intrare este cuvântul MAKEUSEOF. Scriptul folosește o variabilă, text_filtrat,pentru a construi rezultatul dorit care conține totul, cu excepția literei „E”. The pentru buclă iterează prin fiecare caracter din textul introdus.

Pentru a vedea rezultatul, copiați acest cod într-un fișier numit myFilter.sh și fugi bash myFilter.sh.

Conversia majuscule în minuscule în Bash folosind tabelul ASCII

De asemenea, puteți converti literele mari în litere mici cu Bash folosind tabelul ASCII. Când examinați tabelul ASCII pe 7 biți, veți vedea că diferența dintre valorile mari și mici ale acelorași litere este întotdeauna 32. Folosind aceasta, logica unui program care poate converti un cuvânt cu majuscule în litere mici este simplă.

De exemplu, capitalul A are o valoare de 65, în timp ce a mic are o valoare de 97. Profitând de acest lucru, puteți scrie un fragment de cod ca acesta:

#!/bin/bash

citit -p „Introduceți un text:” intrare

text_convertit=""

pentru ((i=0; i<${#input}; i++))
do
char="${input: i: 1}"
char_ascii=$(printf„%d”"'$car'")

dacă [[ $char_ascii -echivalentul 32 ]]
apoi
ecou„Caractere nevalid: spațiu”
elif [[ $char_ascii - 65 de ani și& $char_ascii -le 90 ]]
apoi
char_ascii=$((char_ascii + 32))
text_convertit+=$(printf"\\$(printf '%03o' "$char_ascii")")
elif [[ $char_ascii -ge 97 && $char_ascii -le 127 ]]
apoi
text_convertit+="$car"
altfel
ecou"Caracter invalid: $car"
fi
Terminat

ecou„Text convertit: $text_convertit"

Acest program adaugă 32 la valoarea ASCII a fiecărei majuscule pe care o citește pentru a ajunge la litera minusculă corespunzătoare. Pentru a încerca singur, copiați acest cod într-un fișier numit laMinuscule.sh și rulați-l cu bash toMinuscule.sh comanda.

Va funcționa tabelul ASCII pentru mine?

Tabelul ASCII este un instrument valoros pentru oricine lucrează cu date text sau limbaje de programare. Oferă o reprezentare standard a caracterelor, numerelor și simbolurilor pe care computerele le înțeleg universal. Fie că ești programator, analist de date sau pur și simplu cineva care se ocupă de informații textuale, tabelul ASCII are multe utilizări.

Acest lucru deschide posibilități pentru sarcini precum validarea datelor, manipularea textului și operațiunile de codificare/decodare. Prin referire la tabelul ASCII, puteți determina rapid valoarea ASCII a unui caracter sau puteți converti valorile numerice înapoi în reprezentările lor textuale. Acesta servește drept bază pentru comunicare și interoperabilitate în diferite domenii, făcându-l o referință esențială pentru programarea legată de text.