Ha valaha is ASCII-értékekkel kell dolgoznia, egy keresőtábla elengedhetetlen.

Az ASCII-tábla számokat használ az angol ábécé számjegyeinek, betűinek és gyakori szimbólumainak megjelenítésére. Az ASCII az American Standard Code for Information Interchange rövidítése.

A szót először az ANSI (Amerikai Nemzeti Szabványügyi Intézet) használta 1973-ban, hogy kielégítse az igényt ezen a területen. Tehát hogyan néz ki az ASCII tábla, és hogyan használhatod?

Mi az ASCII-tábla és mit tartalmaz?

Az ASCII egy karakterkódoló rendszer amely megkönnyíti az alapvető számítógépes kommunikációt. Szabványt biztosít a szöveges megjelenítéshez, lehetővé téve a számítógépek számára az ASCII értékek univerzális felismerését és értelmezését.

Minden betű, szám és szimbólum, amelyet az ASCII képes képviselni, egyedi értékkel rendelkezik. Például, ha megvizsgálja az alábbi ASCII-táblázatot, látni fogja, hogy a nagybetűs ASCII-értékek 65-től, a nagy A betűtől kezdődnek. Hasonlóképpen a kisbetűs ASCII értékek 97-től kezdődnek, a kisbetű a.

instagram viewer

Ezek az értékek a karakterek numerikus ábrázolásaként szolgálnak, lehetővé téve a számok és szövegek közötti egyszerű konverziót.

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

SOH

17

DC1

33

!

49

1

65

A

81

K

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

TUD

40

(

56

8

72

H

88

x

104

h

120

x

9

HT

25

EM

41

)

57

9

73

én

89

Y

105

én

121

y

10

LF

26

ALATTI

42

*

58

:

74

J

90

Z

106

j

122

z

11

VT

27

KILÉPÉS

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

ÍGY

30

RS

46

.

62

>

78

N

94

^

110

n

126

~

15

SI

31

MINKET

47

/

63

?

79

O

95

_

111

o

127

DEL

Hogyan hozhat létre saját ASCII-táblát a Bash segítségével

Az ASCII-táblázatban annyi érték található, hogy nehéz lehet megjegyezni vagy jegyzetelni. Referenciaként megtekintheti az összes ASCII értéket egy kis kódolással a választott programozási nyelven, beleértve a shell scriptet is.

A fenti ASCII-táblázatban a 65-ös érték az A betűnek, a 90-es pedig a Z betűnek felel meg. Ahelyett, hogy az összes közötti értéket manuálisan dolgozná ki, ismételheti ezeket az értékeket, és kinyomtathatja a megfelelő karaktereket. A legtöbb más nyelvhez hasonlóan a Bash shell szkriptek is lehetővé teszik a számára ciklus egy vagy több utasítás bizonyos számú megismétléséhez.

Ezen információk alapján próbálja meg írj egy Bash programot amely kiírja az összes értéket 33-tól 126-ig:

#!/bin/bash

visszhang"ASCII táblázat"
visszhang""

számára ((i=33; i<=126; én++))
csináld
char=$(printf"\\x$(printf '%02x' $i)")
printf"%-10d%-10s"$i"$char"

ha (((i+1) % 4 == 0))
akkor
printf"\n"
fi
Kész

Ez a Bash-szkript minden 33 és 126 közötti értéket hozzárendel a char változót, és kiírja a képernyőre. Mentse ezt a Bash-szkriptet egy nevű fájlba myASCII.sh és futtassa a következő paranccsal, és vizsgálja meg az eredményt.

bash myASCII.sh

Látnia kell egy hasznos táblázatot, amely az ASCII karaktereket mutatja a decimális értékeik mellett:

Az ASCII-tábla szűrése

A Bash-szkripttel többet tehet, mint az ASCII-értékek megtekintése. Megvizsgálhatja az egyes karakterek ASCII-értékét, és a következő példában ezeket használhatja szövegszűrésre.

Például próbáljuk meg törölni az E betűt a MAKEUSEOF kulcsszóból Bash használatával ASCII szűréssel. A keresőtáblázat segítségével megerősítheti az "E" ASCII értékét: 69.

#!/bin/bash
eredeti_szöveg="KIHASZNÁLNI"
filtered_text=""
original_text_ascii=""
filtered_text_ascii=""

számára ((i=0; én<${#original_text}; én++))
csináld
char="${original_text: i: 1}"
char_ascii=$(printf"%d""'$char'")

ha [[ "$(printf "%d" "'$char")" != "69" ]]
akkor
szűrt_szöveg+="$char"
filtered_text_ascii+=" $char_ascii"
fi

eredeti_szöveg_ascii+=" $char_ascii"
Kész

visszhang"Eredeti szöveg: $eredeti_szöveg (ASCII: $original_text_ascii)"
visszhang"Az E betű ASCII megfelelője: $(printf "%d" "'E'")"
visszhang"Szűrt szöveg: $szűrt_szöveg (ASCII: $filtered_text_ascii)"

Ebben a szkriptben a bemeneti változó a MAKEUSEOF szó. A szkript változót használ, szűrt_szöveg,a kívánt kimenet felépítéséhez, amely mindent tartalmaz, kivéve az "E" betűt. A számára hurok végighalad a beviteli szöveg minden karakterén.

Az eredmény megtekintéséhez másolja ezt a kódot egy nevű fájlba myFilter.sh és fuss bash myFilter.sh.

Nagybetűk átalakítása kisbetűkre a Bash-ban az ASCII-tábla használatával

A Bash segítségével nagybetűket kisbetűkké alakíthat át az ASCII-tábla segítségével. Ha megvizsgálja a 7 bites ASCII táblát, látni fogja, hogy ugyanazon betűk nagy- és kisbetűs értékei között mindig 32 a különbség. Ennek segítségével a nagybetűs szót kisbetűssé alakító program logikája egyértelmű.

Például a tőke A értéke 65, míg a kis A értéke 97. Ezt kihasználva egy ilyen kódrészletet írhat:

#!/bin/bash

olvas -o "Írjon be egy szöveget:" bemenet

converted_text=""

számára ((i=0; én<${#input}; én++))
csináld
char="${input: i: 1}"
char_ascii=$(printf"%d""'$char'")

ha [[ $char_ascii -32. egyenlet ]]
akkor
visszhang"Érvénytelen karakter: szóköz"
elif [[ $char_ascii -ge 65 && $char_ascii -le 90 ]]
akkor
char_ascii=$((char_ascii + 32))
konvertált_szöveg+=$(printf"\\$(printf '%03o' "$char_ascii")")
elif [[ $char_ascii -ge 97 && $char_ascii -le 127 ]]
akkor
konvertált_szöveg+="$char"
más
visszhang"Érvénytelen karakter: $char"
fi
Kész

visszhang"Konvertált szöveg: $konvertált_szöveg"

Ez a program minden egyes beolvasott nagybetű ASCII-értékéhez 32-t ad, hogy megkapja a megfelelő kisbetűt. Ha saját kezűleg szeretné kipróbálni, másolja ezt a kódot egy nevű fájlba kisbetűs.sh és futtassa a bash toLowercase.sh parancs.

Működni fog az ASCII-tábla?

Az ASCII tábla értékes eszköz bárki számára, aki szöveges adatokkal vagy programozási nyelvekkel dolgozik. A karakterek, számok és szimbólumok szabványos megjelenítését kínálja, amelyeket a számítógépek általánosan megértenek. Legyen szó programozóról, adatelemzőről vagy egyszerűen csak szöveges információkkal foglalkozó személyről, az ASCII-táblázatnak számos felhasználási lehetősége van.

Ez olyan feladatokat nyit meg, mint az adatellenőrzés, a szövegkezelés és a kódolási/dekódolási műveletek. Az ASCII-táblázatra hivatkozva gyorsan meghatározhatja egy karakter ASCII-értékét, vagy visszakonvertálhatja a numerikus értékeket szöveges megjelenítésükre. A kommunikáció és az interoperabilitás alapjául szolgál különböző területeken, így a szöveges programozás alapvető hivatkozási pontja.