Ako ikada budete imali potrebu raditi s ASCII vrijednostima, neophodna je tablica pretraživanja.

ASCII tablica koristi brojeve za predstavljanje znamenki, slova i uobičajenih simbola iz engleske abecede. ASCII je kratica za američki standardni kod za razmjenu informacija.

Riječ je prvi put upotrijebio ANSI (American National Standards Institute) 1973. kako bi ispunio potrebu u ovom području. Dakle, kako izgleda ASCII tablica i kako je možete koristiti?

Što je ASCII tablica i što sadrži?

ASCII je sustav kodiranja znakova koji olakšava osnovnu komunikaciju računalom. Pruža standard za predstavljanje teksta, omogućujući računalima univerzalno prepoznavanje i tumačenje ASCII vrijednosti.

Svako slovo, broj i simbol koji ASCII može predstavljati ima jedinstvenu vrijednost. Na primjer, ako pregledate ASCII tablicu u nastavku, vidjet ćete da ASCII vrijednosti velikim slovima počinju s 65, velikim slovom A. Isto tako, ASCII vrijednosti malim slovima počinju od 97, malim slovom a.

Ove vrijednosti služe kao numerički prikazi znakova, omogućujući jednostavnu konverziju između brojeva i teksta.

instagram viewer

Lik

ASCII

Lik

ASCII

Lik

ASCII

Lik

ASCII

Lik

ASCII

Lik

ASCII

Lik

ASCII

Lik

ASCII

0

NUL

16

DEL

32

SP

48

0

64

@

80

P

96

`

112

str

1

SOH

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

LIMENKA

40

(

56

8

72

H

88

x

104

h

120

x

9

HT

25

EM

41

)

57

9

73

ja

89

Y

105

ja

121

g

10

LF

26

POD

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

TAKO

30

RS

46

.

62

>

78

N

94

^

110

n

126

~

15

SI

31

NAS

47

/

63

?

79

O

95

_

111

o

127

DEL

Kako stvoriti vlastitu ASCII tablicu s Bashom

Postoji toliko mnogo vrijednosti u ASCII tablici da može biti teško zapamtiti ili bilježiti. Za referencu, možete vidjeti sve ASCII vrijednosti s malo kodiranja u vašem programskom jeziku po izboru, uključujući skriptu ljuske.

U gornjoj ASCII tablici, vrijednost 65 odgovara slovu A, a vrijednost 90 odgovara slovu Z. Umjesto da ručno izračunavate sve vrijednosti između, možete iterirati po tim vrijednostima i ispisivati ​​njihove odgovarajuće znakove. Kao i većina drugih jezika, Bash shell skripte omogućuju vam korištenje a za petlja za ponavljanje jedne ili više instrukcija određeni broj puta.

Koristeći ove informacije, pokušajte napisati Bash program koji ispisuje sve vrijednosti počevši od 33 do 126:

#!/bin/bash

jeka"ASCII tablica"
jeka""

za ((i=33; i<=126; ja++))
čini
char=$(printf"\\x$(printf '%02x' $i)")
printf"%-10d%-10s"$i"$char"

ako (((i+1) % 4 == 0))
zatim
printf"\n"
fi
učinjeno

Ova Bash skripta dodjeljuje sve vrijednosti između 33 i 126 a char varijablu i ispisuje je na ekran. Spremite ovu Bash skriptu u datoteku pod nazivom mojASCII.sh i pokrenite ga sa sljedećom naredbom i ispitajte rezultat.

bash myASCII.sh

Trebali biste vidjeti korisnu tablicu koja prikazuje ASCII znakove uz njihove decimalne vrijednosti:

Kako filtrirati ASCII tablicu

S Bash skriptom možete učiniti više nego samo pregledavati ASCII vrijednosti. Možete provjeriti ASCII vrijednost pojedinačnih znakova i, u sljedećem primjeru, koristiti ih za filtriranje teksta.

Na primjer, pokušajmo izbrisati slovo E u ključnoj riječi MAKEUSEOF koristeći Bash s ASCII filtriranjem. Možete koristiti tablicu pretraživanja da potvrdite ASCII vrijednost "E": 69.

#!/bin/bash
izvorni_tekst="ISKORISTITI"
filtrirani_tekst=""
izvorni_tekst_ascii=""
filtrirani_tekst_ascii=""

za ((i=0; ja<${#original_text}; ja++))
čini
char="${originalni_tekst: i: 1}"
char_ascii=$(printf"%d""'$char'")

ako [[ "$(printf "%d" "'$char")" != "69" ]]
zatim
filtrirani_tekst+="$char"
filtrirani_tekst_ascii+=" $char_ascii"
fi

izvorni_tekst_ascii+=" $char_ascii"
učinjeno

jeka"Originalni tekst: $originalni_tekst (ASCII: $originalni_tekst_ascii)"
jeka"ASCII ekvivalent slova E: $(printf "%d" "'E'")"
jeka"Filtrirani tekst: $filtrirani_tekst (ASCII: $filtrirani_tekst_ascii)"

U ovoj skripti ulazna varijabla je riječ MAKEUSEOF. Skripta koristi varijablu, filtrirani_tekst,za izgradnju željenog izlaza koji sadrži sve osim slova "E". The za petlja prolazi kroz svaki znak u ulaznom tekstu.

Da biste vidjeli rezultat, kopirajte ovaj kod u datoteku pod nazivom mojFilter.sh i pobjeći bash myFilter.sh.

Pretvaranje velikih u mala slova u Bashu pomoću ASCII tablice

Također možete pretvoriti velika slova u mala slova s ​​Bashom pomoću ASCII tablice. Kada pregledate 7-bitnu ASCII tablicu, vidjet ćete da je razlika između velikih i malih vrijednosti istih slova uvijek 32. Koristeći ovo, logika programa koji može pretvoriti veliku riječ u mala slova je jednostavna.

Na primjer, veliko A ima vrijednost 65, dok malo a ima vrijednost 97. Iskoristivši ovo, možete napisati isječak koda poput ovog:

#!/bin/bash

čitati -str "Unesite tekst: " ulazni

pretvoreni_tekst=""

za ((i=0; ja<${#input}; ja++))
čini
char="${input: i: 1}"
char_ascii=$(printf"%d""'$char'")

ako [[ $char_ascii -eq 32 ]]
zatim
jeka"Nevažeći znak: razmak"
elif [[ $char_ascii -ge 65 && $char_ascii -le 90 ]]
zatim
char_ascii=$((char_ascii + 32))
pretvoreni_tekst+=$(printf"\\$(printf '%03o' "$char_ascii")")
elif [[ $char_ascii -ge 97 && $char_ascii -le 127 ]]
zatim
pretvoreni_tekst+="$char"
drugo
jeka"Nevažeći znak: $char"
fi
učinjeno

jeka"Pretvoreni tekst: $pretvoreni_tekst"

Ovaj program dodaje 32 ASCII vrijednosti svakog velikog slova koje pročita kako bi došao do odgovarajućeg malog slova. Da biste sami isprobali, kopirajte ovaj kod u datoteku pod nazivom malim slovima.sh i pokrenite ga s bash u mala slova.sh naredba.

Hoće li ASCII tablica raditi za mene?

ASCII tablica vrijedan je alat za svakoga tko radi s tekstualnim podacima ili programskim jezicima. Nudi standardni prikaz znakova, brojeva i simbola koje računala univerzalno razumiju. Bilo da ste programer, analitičar podataka ili jednostavno netko tko se bavi tekstualnim informacijama, ASCII tablica ima mnoge namjene.

To otvara mogućnosti za zadatke kao što su provjera valjanosti podataka, manipulacija tekstom i operacije kodiranja/dekodiranja. Pozivajući se na ASCII tablicu, možete brzo odrediti ASCII vrijednost znaka ili pretvoriti numeričke vrijednosti natrag u njihove tekstualne prikaze. Služi kao temelj za komunikaciju i interoperabilnost u različitim domenama, što ga čini bitnom referencom za programiranje vezano uz tekst.