Pokud někdy potřebujete pracovat s hodnotami ASCII, je nezbytná vyhledávací tabulka.

Tabulka ASCII používá čísla k reprezentaci číslic, písmen a běžných symbolů z anglické abecedy. ASCII je zkratka pro americký standardní kód pro výměnu informací.

Toto slovo bylo poprvé použito ANSI (American National Standards Institute) v roce 1973, aby naplnilo potřebu v této oblasti. Jak tedy ASCII tabulka vypadá a jak ji můžete použít?

Co je tabulka ASCII a co obsahuje?

ASCII je systém kódování znaků který usnadňuje základní komunikaci s počítačem. Poskytuje standard pro reprezentaci textu a umožňuje počítačům univerzálně rozpoznávat a interpretovat hodnoty ASCII.

Každé písmeno, číslo a symbol, které může ASCII reprezentovat, má jedinečnou hodnotu. Pokud si například prozkoumáte níže uvedenou tabulku ASCII, uvidíte, že hodnoty ASCII začínají na 65, tedy velkým písmenem A. Podobně malé ASCII hodnoty začínají na 97, malé písmeno a.

Tyto hodnoty slouží jako číselné vyjádření znaků, což umožňuje snadný převod mezi čísly a textem.

instagram viewer

Charakter

ASCII

Charakter

ASCII

Charakter

ASCII

Charakter

ASCII

Charakter

ASCII

Charakter

ASCII

Charakter

ASCII

Charakter

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

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

PROTI

102

F

118

proti

7

BEL

23

ETB

39

'

55

7

71

G

87

W

103

G

119

w

8

BS

24

UMĚT

40

(

56

8

72

H

88

X

104

h

120

X

9

HT

25

EM

41

)

57

9

73

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

ČR

29

GS

45

-

61

=

77

M

93

]

109

m

125

}

14

TAK

30

RS

46

.

62

>

78

N

94

^

110

n

126

~

15

SI

31

NÁS

47

/

63

?

79

Ó

95

_

111

Ó

127

DEL

Jak vytvořit svou vlastní ASCII tabulku s Bash

V tabulce ASCII je tolik hodnot, že může být obtížné si je zapamatovat nebo si dělat poznámky. Pro referenci můžete vidět všechny hodnoty ASCII s malým kódováním ve vámi zvoleném programovacím jazyce, včetně skriptu shellu.

Ve výše uvedené ASCII tabulce hodnota 65 odpovídá písmenu A a hodnota 90 odpovídá písmenu Z. Místo ručního zjišťování všech hodnot mezi nimi můžete tyto hodnoty opakovat a vytisknout jejich odpovídající znaky. Stejně jako většina ostatních jazyků vám skripty prostředí Bash umožňují používat a pro smyčka pro opakování jedné nebo více instrukcí po určitý počet opakování.

Pomocí těchto informací to zkuste napsat program Bash který vypíše všechny hodnoty od 33 do 126:

#!/bin/bash

echo"ASCII tabulka"
echo""

pro ((i=33; i<126; i++))
dělat
char=$(printf"\\X$(printf '%02x' $i)")
printf"%-10d%-10s"$i"$char"

-li (((i+1) % 4 == 0))
pak
printf"\n"
fi
Hotovo

Tento Bash skript přiřadí všechny hodnoty mezi 33 a 126 do a char proměnnou a vytiskne ji na obrazovku. Uložte tento skript Bash do souboru s názvem myASCII.sh a spusťte jej pomocí následujícího příkazu a prozkoumejte výsledek.

bash myASCII.sh

Měli byste vidět užitečnou tabulku zobrazující znaky ASCII vedle jejich desetinných hodnot:

Jak filtrovat tabulku ASCII

Se skriptem Bash můžete udělat více, než jen zobrazit hodnoty ASCII. Můžete zkontrolovat hodnotu ASCII jednotlivých znaků a v následujícím příkladu je použít k filtrování textu.

Zkusme například smazat písmeno E v klíčovém slově MAKEUSEOF pomocí Bash s ASCII filtrováním. Pomocí vyhledávací tabulky můžete potvrdit hodnotu ASCII "E": 69.

#!/bin/bash
původní_text="MAKEUSEOF"
filtrovaný_text=""
original_text_ascii=""
filter_text_ascii=""

pro ((i=0; i<${#original_text}; i++))
dělat
char="${original_text: i: 1}"
char_ascii=$(printf"%d""'$char'")

-li [[ "$(printf "%d" "'$char")" != "69" ]]
pak
filtrovaný_text+="$char"
filter_text_ascii+=" $char_ascii"
fi

původní_text_ascii+=" $char_ascii"
Hotovo

echo"Původní text: $original_text (ASCII: $original_text_ascii)"
echo"ASCII ekvivalent písmene E: $(printf "%d" "'E'")"
echo"Filtrovaný text: $filtred_text (ASCII: $filtered_text_ascii)"

V tomto skriptu je vstupní proměnnou slovo MAKEUSEOF. Skript používá proměnnou, filtrovaný_text,pro vytvoření požadovaného výstupu, který obsahuje vše kromě písmene "E". The pro smyčka iteruje každý znak ve vstupním textu.

Chcete-li zobrazit výsledek, zkopírujte tento kód do souboru s názvem myFilter.sh a běžet bash myFilter.sh.

Převod velkých na malá písmena v Bash pomocí tabulky ASCII

Velká písmena můžete také převést na malá písmena pomocí Bash pomocí tabulky ASCII. Když prozkoumáte 7bitovou tabulku ASCII, uvidíte, že rozdíl mezi velkými a malými písmeny stejných písmen je vždy 32. Díky tomu je logika programu, který dokáže převést velká písmena na malá písmena, přímočará.

Například kapitál A má hodnotu 65, zatímco malé a má hodnotu 97. S využitím této výhody můžete napsat fragment kódu takto:

#!/bin/bash

číst -p "Zadejte text: " vstup

převedený_text=""

pro ((i=0; i<${#input}; i++))
dělat
char="${input: i: 1}"
char_ascii=$(printf"%d""'$char'")

-li [[ $char_ascii -ekv 32]]
pak
echo"Neplatný znak: mezera"
elif [[ $char_ascii -ge 65 && $char_ascii -le 90]]
pak
char_ascii=$((char_ascii + 32))
convert_text+=$(printf"\\$(printf '%03o' "$char_ascii")")
elif [[ $char_ascii -ge 97 && $char_ascii -le 127]]
pak
převedený_text+="$char"
jiný
echo"Neplatný znak: $char"
fi
Hotovo

echo"Převedený text: $converted_text"

Tento program přidá 32 k hodnotě ASCII každého velkého písmena, které přečte, aby dospěl k odpovídajícímu malému písmenu. Chcete-li si to sami vyzkoušet, zkopírujte tento kód do souboru s názvem toLowercase.sh a spusťte jej pomocí bash na malá písmena.sh příkaz.

Bude mi ASCII tabulka fungovat?

Tabulka ASCII je cenným nástrojem pro každého, kdo pracuje s textovými daty nebo programovacími jazyky. Nabízí standardní reprezentaci znaků, čísel a symbolů, kterým počítače univerzálně rozumí. Ať už jste programátor, datový analytik nebo prostě někdo, kdo se zabývá textovými informacemi, ASCII tabulka má mnoho využití.

To otevírá možnosti pro úlohy, jako je ověřování dat, manipulace s textem a operace kódování/dekódování. Odkazem na tabulku ASCII můžete rychle určit hodnotu ASCII znaku nebo převést číselné hodnoty zpět na jejich textové reprezentace. Slouží jako základ pro komunikaci a interoperabilitu v různých doménách, což z něj činí základní referenci pro programování související s textem.