Hvis du nogensinde har behov for at arbejde med ASCII-værdier, er en opslagstabel vigtig.

ASCII-tabellen bruger tal til at repræsentere cifre, bogstaver og almindelige symboler fra det engelske alfabet. ASCII står for American Standard Code for Information Interchange.

Ordet blev første gang brugt af ANSI (American National Standards Institute) i 1973 for at udfylde behovet på dette felt. Så hvordan ser ASCII-tabellen ud, og hvordan kan du bruge den?

Hvad er en ASCII-tabel, og hvad indeholder den?

ASCII er et tegnkodningssystem der letter grundlæggende computerkommunikation. Det giver en standard for tekstrepræsentation, der gør det muligt for computere at genkende og fortolke ASCII-værdier universelt.

Hvert bogstav, tal og symbol, som ASCII kan repræsentere, har en unik værdi. For eksempel, hvis du undersøger ASCII-tabellen nedenfor, vil du se, at ASCII-værdier med store bogstaver starter med 65, det store bogstav A. På samme måde starter små ASCII-værdier ved 97, det lille bogstav a.

Disse værdier tjener som numeriske repræsentationer af tegn, hvilket muliggør nem konvertering mellem tal og tekst.

instagram viewer

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

s

1

SOH

17

DC1

33

!

49

1

65

EN

81

Q

97

-en

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

KAN

40

(

56

8

72

H

88

x

104

h

120

x

9

HT

25

EM

41

)

57

9

73

jeg

89

Y

105

jeg

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

30

RS

46

.

62

>

78

N

94

^

110

n

126

~

15

SI

31

OS

47

/

63

?

79

O

95

_

111

o

127

DEL

Sådan opretter du dit eget ASCII-bord med Bash

Der er så mange værdier i ASCII-tabellen, at det kan være svært at huske eller tage noter. Til reference kan du se alle ASCII-værdier med lidt kodning i dit valgte programmeringssprog, inklusive et shell-script.

I ASCII-tabellen ovenfor svarer værdien 65 til bogstavet A og værdien 90 svarer til bogstavet Z. I stedet for at regne alle værdierne imellem manuelt, kan du iterere over disse værdier og udskrive deres tilsvarende tegn. Som de fleste andre sprog giver Bash shell-scripts dig mulighed for at bruge en til loop for at gentage en eller flere instruktioner et vist antal gange.

Prøv at bruge disse oplysninger skrive et Bash-program der udskriver alle værdier fra 33 til 126:

#!/bin/bash

ekko"ASCII-tabel"
ekko""

til ((i=33; i<=126; i++))
gør
char=$(printf"\\x$(printf '%02x' $i)")
printf"%-10d%-10s"$i"$char"

hvis (((i+1) % 4 == 0))
derefter
printf"\n"
fi
Færdig

Dette Bash-script tildeler alle værdier mellem 33 og 126 til en char variabel og udskriver den til skærmen. Gem dette Bash-script i en fil med navnet myASCII.sh og kør det med følgende kommando og undersøg resultatet.

bash myASCII.sh

Du bør se en nyttig tabel, der viser ASCII-tegn sammen med deres decimalværdier:

Sådan filtreres ASCII-tabellen

Du kan gøre mere med et Bash-script end blot at se ASCII-værdier. Du kan inspicere ASCII-værdien af ​​individuelle tegn og i det følgende eksempel bruge disse til at filtrere tekst.

Lad os for eksempel prøve at slette bogstavet E i søgeordet MAKEUSEOF ved hjælp af Bash med ASCII-filtrering. Du kan bruge opslagstabellen til at bekræfte ASCII-værdien for "E": 69.

#!/bin/bash
original_tekst="GØRE BRUG AF"
filtreret_tekst=""
original_text_ascii=""
filtreret_tekst_ascii=""

til ((i=0; i<${#original_text}; i++))
gør
char="${original_text: i: 1}"
char_ascii=$(printf"%d""'$char'")

hvis [[ "$(printf "%d" "'$char")" != "69" ]]
derefter
filtreret_tekst+="$char"
filtreret_tekst_ascii+=" $char_ascii"
fi

original_text_ascii+=" $char_ascii"
Færdig

ekko"Original tekst: $original_tekst (ASCII: $original_text_ascii)"
ekko"ASCII svarende til bogstavet E: $(printf "%d" "'E'")"
ekko"Filtret tekst: $filtreret_tekst (ASCII: $filtered_text_ascii)"

I dette script er inputvariablen ordet MAKEUSEOF. Scriptet bruger en variabel, filtreret_tekst,for at bygge det ønskede output, som indeholder alt undtagen bogstavet "E". Det til sløjfe gentager hvert tegn i inputteksten.

For at se resultatet skal du kopiere denne kode til en fil med navnet myFilter.sh og løb bash myFilter.sh.

Konvertering af store bogstaver til små bogstaver i Bash ved hjælp af ASCII-tabellen

Du kan også konvertere store bogstaver til små bogstaver med Bash ved hjælp af ASCII-tabellen. Når du undersøger 7-bit ASCII-tabellen, vil du se, at forskellen mellem de store og små bogstaver af de samme bogstaver altid er 32. Ved at bruge dette er logikken i et program, der kan konvertere et ord med store bogstaver til små bogstaver, ligetil.

For eksempel har stort A en værdi på 65, mens lille a har en værdi på 97. Ved at drage fordel af dette kan du skrive et kodestykke som dette:

#!/bin/bash

Læs -s "Skriv en tekst: " input

converted_text=""

til ((i=0; i<${#input}; i++))
gør
char="${input: i: 1}"
char_ascii=$(printf"%d""'$char'")

hvis [[ $char_ascii -eq 32 ]]
derefter
ekko"Ugyldigt tegn: mellemrum"
elif [[ $char_ascii -ge 65 && $char_ascii -le 90 ]]
derefter
char_ascii=$((char_ascii + 32))
konverteret_tekst+=$(printf"\\$(printf '%03o' "$char_ascii")")
elif [[ $char_ascii -ge 97 && $char_ascii -le 127 ]]
derefter
converted_text+="$char"
andet
ekko"Ugyldigt tegn: $char"
fi
Færdig

ekko"Konverteret tekst: $konverteret_tekst"

Dette program tilføjer 32 til ASCII-værdien af ​​hvert stort bogstav, det læser, for at nå frem til det tilsvarende lille bogstav. For at prøve det selv, kopier denne kode til en fil kaldet tilSmå bogstaver.sh og køre det med bash tilSmå bogstaver.sh kommando.

Vil ASCII-bordet fungere for mig?

ASCII-tabellen er et værdifuldt værktøj for alle, der arbejder med tekstdata eller programmeringssprog. Det tilbyder en standardrepræsentation af tegn, tal og symboler, som computere generelt forstår. Uanset om du er programmør, dataanalytiker eller blot en person, der beskæftiger sig med tekstinformation, har ASCII-tabellen mange anvendelsesmuligheder.

Dette åbner op for muligheder for opgaver som datavalidering, tekstmanipulation og kodnings-/afkodningsoperationer. Ved at henvise til ASCII-tabellen kan du hurtigt bestemme ASCII-værdien af ​​et tegn eller konvertere numeriske værdier tilbage til deres tekstlige repræsentationer. Det tjener som grundlag for kommunikation og interoperabilitet på forskellige områder, hvilket gør det til en væsentlig reference for tekstrelateret programmering.