Om du någonsin har behov av att arbeta med ASCII-värden är en uppslagstabell viktigt.

ASCII-tabellen använder siffror för att representera siffror, bokstäver och vanliga symboler från det engelska alfabetet. ASCII står för American Standard Code for Information Interchange.

Ordet användes först av ANSI (American National Standards Institute) 1973 för att fylla behovet inom detta område. Så hur ser ASCII-tabellen ut och hur kan du använda den?

Vad är en ASCII-tabell och vad innehåller den?

ASCII är ett teckenkodningssystem som underlättar grundläggande datorkommunikation. Den tillhandahåller en standard för textrepresentation, vilket gör att datorer kan känna igen och tolka ASCII-värden universellt.

Varje bokstav, siffra och symbol som ASCII kan representera har ett unikt värde. Om du till exempel granskar ASCII-tabellen nedan ser du att ASCII-värden med stora bokstäver börjar på 65, den stora bokstaven A. På samma sätt börjar små ASCII-värden på 97, den gemena bokstaven a.

Dessa värden fungerar som numeriska representationer av tecken, vilket möjliggör enkel konvertering mellan siffror och text.

instagram viewer

Karaktär

ASCII

Karaktär

ASCII

Karaktär

ASCII

Karaktär

ASCII

Karaktär

ASCII

Karaktär

ASCII

Karaktär

ASCII

Karaktär

ASCII

0

NUL

16

DEL

32

SP

48

0

64

@

80

P

96

`

112

sid

1

SOH

17

DC1

33

!

49

1

65

A

81

F

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

BURK

40

(

56

8

72

H

88

X

104

h

120

x

9

HT

25

EM

41

)

57

9

73

jag

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

30

RS

46

.

62

>

78

N

94

^

110

n

126

~

15

SI

31

USA

47

/

63

?

79

O

95

_

111

o

127

DEL

Hur du skapar ditt eget ASCII-bord med Bash

Det finns så många värden i ASCII-tabellen att det kan vara svårt att memorera eller göra anteckningar. Som referens kan du se alla ASCII-värden med lite kodning i ditt valfria programmeringsspråk, inklusive ett skalskript.

I ASCII-tabellen ovan motsvarar värdet 65 bokstaven A och värdet 90 motsvarar bokstaven Z. Istället för att räkna ut alla värden däremellan manuellt kan du iterera över dessa värden och skriva ut deras motsvarande tecken. Liksom de flesta andra språk låter Bash-skalskript dig använda en för loop för att upprepa en eller flera instruktioner ett visst antal gånger.

Använd denna information, försök att skriva ett Bash-program som skriver ut alla värden från 33 till 126:

#!/bin/bash

eko"ASCII-tabell"
eko""

för ((i=33; i<=126; i++))
do
char=$(printf"\\x$(printf '%02x' $i)")
printf"%-10d%-10s"$i"$char"

om (((i+1) % 4 == 0))
sedan
printf"\n"
fi
Gjort

Detta Bash-skript tilldelar alla värden mellan 33 och 126 till en röding variabel och skriver ut den på skärmen. Spara detta Bash-skript i en fil med namnet myASCII.sh och kör det med följande kommando och undersök resultatet.

bash myASCII.sh

Du bör se en användbar tabell som visar ASCII-tecken tillsammans med deras decimalvärden:

Hur man filtrerar ASCII-tabellen

Du kan göra mer med ett Bash-skript än att bara se ASCII-värden. Du kan inspektera ASCII-värdet för enskilda tecken och, i följande exempel, använda dessa för att filtrera text.

Låt oss till exempel försöka ta bort bokstaven E i nyckelordet MAKEUSEOF med Bash med ASCII-filtrering. Du kan använda uppslagstabellen för att bekräfta ASCII-värdet för "E": 69.

#!/bin/bash
original_text="ANVÄNDA"
filtrerad_text=""
original_text_ascii=""
filtered_text_ascii=""

för ((i=0; i<${#original_text}; i++))
do
char="${original_text: i: 1}"
char_ascii=$(printf"%d""'$char'")

om [[ "$(printf "%d" "'$char")" != "69" ]]
sedan
filtrerad_text+="$char"
filtrerad_text_ascii+=" $char_ascii"
fi

original_text_ascii+=" $char_ascii"
Gjort

eko"Original text: $original_text (ASCII: $original_text_ascii)"
eko"ASCII motsvarighet till bokstaven E: $(printf "%d" "'E'")"
eko"Filtrerad text: $filtered_text (ASCII: $filtered_text_ascii)"

I det här skriptet är indatavariabeln ordet MAKEUSEOF. Skriptet använder en variabel, filtrerad_text,för att bygga den önskade utgången som innehåller allt utom bokstaven "E". De för slinga itererar genom varje tecken i inmatningstexten.

För att se resultatet, kopiera den här koden till en fil med namnet myFilter.sh och springa bash myFilter.sh.

Konvertera versaler till gemener i Bash med hjälp av ASCII-tabellen

Du kan också konvertera stora bokstäver till gemener med Bash med hjälp av ASCII-tabellen. När du undersöker 7-bitars ASCII-tabellen kommer du att se att skillnaden mellan versaler och gemener för samma bokstäver alltid är 32. Med detta är logiken i ett program som kan konvertera ett versalord till gemener okomplicerat.

Till exempel har stort A ett värde på 65, medan litet a har ett värde på 97. Med hjälp av detta kan du skriva ett kodavsnitt så här:

#!/bin/bash

läsa -s "Skriv in en text: " inmatning

converted_text=""

för ((i=0; i<${#input}; i++))
do
char="${input: i: 1}"
char_ascii=$(printf"%d""'$char'")

om [[ $char_ascii -eq 32 ]]
sedan
eko"Ogiltigt tecken: mellanslag"
elif [[ $char_ascii -ge 65 && $char_ascii -le 90 ]]
sedan
char_ascii=$((char_ascii + 32))
converted_text+=$(printf"\\$(printf '%03o' "$char_ascii")")
elif [[ $char_ascii -ge 97 && $char_ascii -le 127 ]]
sedan
converted_text+="$char"
annan
eko"Ogiltigt tecken: $char"
fi
Gjort

eko"Konverterad text: $konverterad_text"

Detta program lägger till 32 till ASCII-värdet för varje stor bokstav som det läser för att komma fram till motsvarande gemener. För att prova själv, kopiera den här koden till en fil som heter toLowercase.sh och kör den med bash toLowercase.sh kommando.

Kommer ASCII-tabellen att fungera för mig?

ASCII-tabellen är ett värdefullt verktyg för alla som arbetar med textdata eller programmeringsspråk. Den erbjuder en standardrepresentation av tecken, siffror och symboler som datorer allmänt förstår. Oavsett om du är programmerare, dataanalytiker eller bara någon som sysslar med textinformation, har ASCII-tabellen många användningsområden.

Detta öppnar upp möjligheter för uppgifter som datavalidering, textmanipulering och kodnings-/avkodningsoperationer. Genom att hänvisa till ASCII-tabellen kan du snabbt bestämma ASCII-värdet för ett tecken eller konvertera numeriska värden tillbaka till deras textrepresentationer. Den fungerar som en grund för kommunikation och interoperabilitet inom olika domäner, vilket gör den till en viktig referens för textrelaterad programmering.