Als u ooit met ASCII-waarden moet werken, is een opzoektabel essentieel.

De ASCII-tabel gebruikt cijfers om cijfers, letters en algemene symbolen uit het Engelse alfabet weer te geven. ASCII staat voor American Standard Code for Information Interchange.

Het woord werd voor het eerst gebruikt door ANSI (American National Standards Institute) in 1973 om aan de behoefte op dit gebied te voldoen. Dus hoe ziet de ASCII-tabel eruit en hoe kunt u deze gebruiken?

Wat is een ASCII-tabel en wat staat er in?

ASCII is een tekencoderingssysteem dat vergemakkelijkt de basiscomputercommunicatie. Het biedt een standaard voor tekstrepresentatie, waardoor computers ASCII-waarden universeel kunnen herkennen en interpreteren.

Elke letter, elk cijfer en elk symbool dat ASCII kan vertegenwoordigen, heeft een unieke waarde. Als u bijvoorbeeld de onderstaande ASCII-tabel bekijkt, ziet u dat de ASCII-waarden in hoofdletters beginnen bij 65, de hoofdletter A. Evenzo beginnen ASCII-waarden in kleine letters bij 97, de kleine letter a.

instagram viewer

Deze waarden dienen als numerieke representaties van tekens, waardoor eenvoudige conversie tussen cijfers en tekst mogelijk is.

Karakter

ASCII

Karakter

ASCII

Karakter

ASCII

Karakter

ASCII

Karakter

ASCII

Karakter

ASCII

Karakter

ASCII

Karakter

ASCII

0

NUL

16

DEL

32

SP

48

0

64

@

80

P

96

`

112

P

1

ZO

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

NLQ

21

NAK

37

%

53

5

69

E

85

U

101

e

117

u

6

AK

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

KAN

40

(

56

8

72

H

88

X

104

H

120

X

9

HT

25

EM

41

)

57

9

73

I

89

Y

105

i

121

j

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

ik

124

|

13

CR

29

GS

45

-

61

=

77

M

93

]

109

M

125

}

14

DUS

30

RS

46

.

62

>

78

N

94

^

110

N

126

~

15

SI

31

ONS

47

/

63

?

79

O

95

_

111

O

127

DEL

Hoe u uw eigen ASCII-tabel kunt maken met Bash

Er zijn zoveel waarden in de ASCII-tabel dat het moeilijk kan zijn om deze te onthouden of aantekeningen te maken. Ter referentie kunt u alle ASCII-waarden zien met een beetje codering in uw programmeertaal naar keuze, inclusief een shellscript.

In de bovenstaande ASCII-tabel komt de waarde 65 overeen met de letter A en de waarde 90 komt overeen met de letter Z. In plaats van alle tussenliggende waarden handmatig uit te werken, kunt u deze waarden herhalen en de bijbehorende tekens afdrukken. Net als de meeste andere talen, kunt u met Bash-shellscripts een voor lus om een ​​of meer instructies een bepaald aantal keren te herhalen.

Probeer het met behulp van deze informatie schrijf een Bash-programma die alle waarden afdrukt vanaf 33 tot 126:

#!/bin/bash

echo"ASCII-tabel"
echo""

voor ((i=33; ik<=126; ik++))
Doen
char=$(printf"\\X$(printf '%02x' $i)")
printf"%-10d%-10s"$ ik"$char"

als (((i+1) % 4 == 0))
Dan
printf"\N"
fi
klaar

Dit Bash-script wijst alle waarden tussen 33 en 126 toe aan a char variabele en drukt deze af op het scherm. Sla dit Bash-script op in een bestand met de naam mijnASCII.sh en voer het uit met de volgende opdracht en bekijk het resultaat.

bash myASCII.sh

U zou een handige tabel moeten zien met ASCII-tekens naast hun decimale waarden:

Hoe de ASCII-tabel te filteren

U kunt meer doen met een Bash-script dan alleen ASCII-waarden bekijken. U kunt de ASCII-waarde van afzonderlijke tekens inspecteren en, in het volgende voorbeeld, deze gebruiken om tekst te filteren.

Laten we bijvoorbeeld proberen de letter E in het sleutelwoord MAKEUSEOF te verwijderen met Bash met ASCII-filtering. U kunt de opzoektabel gebruiken om de ASCII-waarde van "E": 69 te bevestigen.

#!/bin/bash
originele_tekst="GEBRUIKMAKEN VAN"
gefilterde_tekst=""
origineel_text_ascii=""
gefilterd_text_ascii=""

voor ((i=0; ik<${#originele_tekst}; ik++))
Doen
char="${original_text: ik: 1}"
char_ascii=$(printf"%D""'$char'")

als [[ "$(printf "%d" "'$char")" != "69" ]]
Dan
gefilterde_tekst+="$char"
gefilterd_text_ascii+=" $char_ascii"
fi

originele_tekst_ascii+=" $char_ascii"
klaar

echo"Originele tekst: $originele_tekst (ASCII: $original_text_ascii)"
echo"ASCII-equivalent van de letter E: $(printf "%d" "'E'")"
echo"Gefilterde tekst: $gefilterde_tekst (ASCII: $filtered_text_ascii)"

In dit script is de invoervariabele het woord MAKEUSEOF. Het script gebruikt een variabele, gefilterde_tekst, om de gewenste uitvoer te bouwen die alles bevat behalve de letter "E". De voor lus doorloopt elk teken in de invoertekst.

Om het resultaat te zien, kopieert u deze code naar een bestand met de naam mijnFilter.sh en loop bashen mijnFilter.sh.

Hoofdletters naar kleine letters converteren in Bash met behulp van de ASCII-tabel

U kunt ook hoofdletters naar kleine letters converteren met Bash met behulp van de ASCII-tabel. Wanneer u de 7-bits ASCII-tabel bekijkt, ziet u dat het verschil tussen de hoofdletters en kleine letters van dezelfde letters altijd 32 is. Hiermee is de logica van een programma dat een woord in hoofdletters kan omzetten in kleine letters eenvoudig.

Kapitaal A heeft bijvoorbeeld een waarde van 65, terwijl kleine a een waarde van 97 heeft. Als u hiervan profiteert, kunt u een codefragment als volgt schrijven:

#!/bin/bash

lezen -P "Voer een tekst in: " invoer

geconverteerde_tekst=""

voor ((i=0; ik<${#invoer}; ik++))
Doen
char="${invoer: ik: 1}"
char_ascii=$(printf"%D""'$char'")

als [[ $char_ascii -eq 32 ]]
Dan
echo"Ongeldig teken: spatie"
elif [[ $char_ascii -ge 65 && $char_ascii -le 90 ]]
Dan
char_ascii=$((char_ascii + 32))
geconverteerde_tekst+=$(printf"\\$(printf '%03o' "$char_ascii")")
elif [[ $char_ascii -ge 97 && $char_ascii -le 127 ]]
Dan
geconverteerde_tekst+="$char"
anders
echo"Ongeldig teken: $char"
fi
klaar

echo"Geconverteerde tekst: $geconverteerde_tekst"

Dit programma telt 32 op bij de ASCII-waarde van elke hoofdletter die het leest om tot de overeenkomstige kleine letter te komen. Om het zelf te proberen, kopieert u deze code naar een bestand met de naam naar kleine letters.sh en voer het uit met de bash naar kleine letters.sh commando.

Zal de ASCII-tabel voor mij werken?

De ASCII-tabel is een waardevol hulpmiddel voor iedereen die met tekstgegevens of programmeertalen werkt. Het biedt een standaardweergave van tekens, cijfers en symbolen die computers universeel begrijpen. Of u nu een programmeur, een data-analist of gewoon iemand bent die met tekstuele informatie te maken heeft, de ASCII-tabel heeft veel toepassingen.

Dit opent mogelijkheden voor taken zoals gegevensvalidatie, tekstmanipulatie en coderings-/decoderingsbewerkingen. Door naar de ASCII-tabel te verwijzen, kunt u snel de ASCII-waarde van een teken bepalen of numerieke waarden terug converteren naar hun tekstuele representaties. Het dient als basis voor communicatie en interoperabiliteit in verschillende domeinen, waardoor het een essentiële referentie is voor tekstgerelateerde programmering.