Če boste kdaj morali delati z vrednostmi ASCII, je iskalna tabela nujna.

Tabela ASCII uporablja številke za predstavitev številk, črk in običajnih simbolov iz angleške abecede. ASCII pomeni ameriško standardno kodo za izmenjavo informacij.

Besedo je prvič uporabil ANSI (American National Standards Institute) leta 1973, da bi zapolnil potrebe na tem področju. Kako torej izgleda tabela ASCII in kako jo lahko uporabite?

Kaj je tabela ASCII in kaj vsebuje?

ASCII je sistem kodiranja znakov ki olajša osnovno računalniško komunikacijo. Zagotavlja standard za predstavitev besedila, ki računalnikom omogoča univerzalno prepoznavanje in interpretacijo vrednosti ASCII.

Vsaka črka, številka in simbol, ki ga lahko predstavlja ASCII, ima edinstveno vrednost. Če na primer pregledate spodnjo tabelo ASCII, boste videli, da se vrednosti ASCII z velikimi črkami začnejo pri 65, veliki črki A. Podobno se male črke ASCII vrednosti začnejo pri 97, mala črka a.

Te vrednosti služijo kot številske predstavitve znakov, ki omogočajo enostavno pretvorbo med številkami in besedilom.

instagram viewer

Znak

ASCII

Znak

ASCII

Znak

ASCII

Znak

ASCII

Znak

ASCII

Znak

ASCII

Znak

ASCII

Znak

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

POTRDI

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

LAHKO

40

(

56

8

72

H

88

X

104

h

120

x

9

HT

25

EM

41

)

57

9

73

jaz

89

Y

105

jaz

121

l

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

SO

30

RS

46

.

62

>

78

n

94

^

110

n

126

~

15

SI

31

ZDA

47

/

63

?

79

O

95

_

111

o

127

DEL

Kako ustvariti lastno tabelo ASCII z Bashom

V tabeli ASCII je toliko vrednosti, da si jo je težko zapomniti ali delati zapiske. Za referenco si lahko ogledate vse vrednosti ASCII z malo kodiranja v svojem izbranem programskem jeziku, vključno s skriptom lupine.

V zgornji tabeli ASCII vrednost 65 ustreza črki A, vrednost 90 pa črki Z. Namesto da ročno izračunate vse vmesne vrednosti, lahko te vrednosti ponovite in natisnete njihove ustrezne znake. Tako kot večina drugih jezikov vam lupinski skripti Bash omogočajo uporabo a za zanko za ponavljanje enega ali več navodil določeno število krat.

Z uporabo teh informacij poskusite napišite program Bash ki natisne vse vrednosti od 33 do 126:

#!/bin/bash

odmev"ASCII tabela"
odmev""

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

če (((i+1) % 4 == 0))
potem
printf"\n"
fi
Končano

Ta skript Bash dodeli vse vrednosti med 33 in 126 a char spremenljivko in jo natisne na zaslon. Shranite ta skript Bash v datoteko z imenom mojASCII.sh in ga zaženite z naslednjim ukazom ter preglejte rezultat.

bash myASCII.sh

Morali bi videti uporabno tabelo, ki prikazuje znake ASCII poleg njihovih decimalnih vrednosti:

Kako filtrirati tabelo ASCII

S skriptom Bash lahko naredite več kot le ogled vrednosti ASCII. Pregledate lahko vrednost ASCII posameznih znakov in jih v naslednjem primeru uporabite za filtriranje besedila.

Na primer, poskusimo izbrisati črko E v ključni besedi MAKEUSEOF z uporabo Bash s filtriranjem ASCII. Za potrditev ASCII vrednosti "E" lahko uporabite iskalno tabelo: 69.

#!/bin/bash
izvirno_besedilo="IZKORISTIJO"
filtrirano_besedilo=""
izvirno_besedilo_ascii=""
filtrirano_besedilo_ascii=""

za ((i=0; jaz<${#original_text}; i++))
narediti
char="${original_text: i: 1}"
char_ascii=$(printf"%d""'$char'")

če [[ "$(printf "%d" "'$char")" != "69" ]]
potem
filtrirano_besedilo+="$char"
filtrirano_besedilo_ascii+=" $char_ascii"
fi

izvirno_besedilo_ascii+=" $char_ascii"
Končano

odmev"Izvirno besedilo: $original_text (ASCII: $original_text_ascii)"
odmev"ASCII ekvivalent črke E: $(printf "%d" "'E'")"
odmev"Filtrirano besedilo: $filtrirano_besedilo (ASCII: $filtrirano_besedilo_ascii)"

V tem skriptu je vhodna spremenljivka beseda MAKEUSEOF. Skript uporablja spremenljivko, filtrirano_besedilo, da zgradite želeni rezultat, ki vsebuje vse razen črke "E". The za zanka ponavlja skozi vsak znak v vhodnem besedilu.

Če želite videti rezultat, kopirajte to kodo v datoteko z imenom myFilter.sh in teči bash myFilter.sh.

Pretvarjanje velikih črk v male v Bashu z uporabo tabele ASCII

Prav tako lahko velike črke pretvorite v male črke z Bashom z uporabo tabele ASCII. Ko pregledate 7-bitno tabelo ASCII, boste videli, da je razlika med velikimi in malimi črkami istih črk vedno 32. Z uporabo tega je logika programa, ki lahko pretvori veliko besedo v malo črko, preprosta.

Na primer, veliko A ima vrednost 65, medtem ko ima majhno a vrednost 97. Če to izkoristite, lahko napišete delček kode, kot je ta:

#!/bin/bash

prebrati -str "Vnesite besedilo:" vnos

pretvorjeno_besedilo=""

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

če [[ $char_ascii -eq 32]]
potem
odmev"Neveljaven znak: presledek"
elif [[ $char_ascii -ge 65 && $char_ascii -le 90 ]]
potem
char_ascii=$((char_ascii + 32))
pretvorjeno_besedilo+=$(printf"\\$(printf '%03o' "$char_ascii")")
elif [[ $char_ascii -ge 97 && $char_ascii -le 127 ]]
potem
pretvorjeno_besedilo+="$char"
drugače
odmev"Neveljaven znak: $char"
fi
Končano

odmev"Pretvorjeno besedilo: $pretvorjeno_besedilo"

Ta program doda 32 vrednosti ASCII vsake velike črke, ki jo prebere, da pride do ustrezne male črke. Če želite poskusiti sami, kopirajte to kodo v datoteko z imenom toLowercase.sh in ga zaženite z bash v male črke.sh ukaz.

Bo tabela ASCII delovala zame?

Tabela ASCII je dragoceno orodje za vsakogar, ki dela z besedilnimi podatki ali programskimi jeziki. Ponuja standardno predstavitev znakov, številk in simbolov, ki jih računalniki univerzalno razumejo. Ne glede na to, ali ste programer, podatkovni analitik ali preprosto nekdo, ki se ukvarja z besedilnimi informacijami, ima tabela ASCII veliko uporab.

To odpira možnosti za naloge, kot so preverjanje podatkov, obdelava besedila in operacije kodiranja/dekodiranja. S sklicevanjem na tabelo ASCII lahko hitro določite vrednost ASCII znaka ali pretvorite številske vrednosti nazaj v njihove besedilne predstavitve. Služi kot temelj za komunikacijo in interoperabilnost na različnih področjih, zaradi česar je bistvena referenca za programiranje, povezano z besedilom.