Se hai mai bisogno di lavorare con valori ASCII, una tabella di ricerca è essenziale.

La tabella ASCII utilizza i numeri per rappresentare cifre, lettere e simboli comuni dell'alfabeto inglese. ASCII sta per American Standard Code for Information Interchange.

La parola è stata usata per la prima volta dall'ANSI (American National Standards Institute) nel 1973 per soddisfare le esigenze in questo campo. Allora che aspetto ha la tabella ASCII e come puoi usarla?

Cos'è una tabella ASCII e cosa contiene?

ASCII è un sistema di codifica dei caratteri che facilita la comunicazione informatica di base. Fornisce uno standard per la rappresentazione del testo, consentendo ai computer di riconoscere e interpretare universalmente i valori ASCII.

Ogni lettera, numero e simbolo che ASCII può rappresentare ha un valore univoco. Ad esempio, se esamini la tabella ASCII di seguito, vedrai che i valori ASCII maiuscoli iniziano da 65, la lettera maiuscola A. Allo stesso modo, i valori ASCII minuscoli iniziano da 97, la lettera minuscola a.

instagram viewer

Questi valori fungono da rappresentazioni numeriche dei caratteri, consentendo una facile conversione tra numeri e testo.

Carattere

ASCI

Carattere

ASCI

Carattere

ASCI

Carattere

ASCI

Carattere

ASCI

Carattere

ASCI

Carattere

ASCI

Carattere

ASCI

0

NULL

16

DEL

32

sp

48

0

64

@

80

P

96

`

112

P

1

SOH

17

DC1

33

!

49

1

65

UN

81

Q

97

UN

113

Q

2

STX

18

DC2

34

"

50

2

66

B

82

R

98

B

114

R

3

ETX

19

CC3

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

tu

6

ACK

22

SIN

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

Cavolo

24

POTERE

40

(

56

8

72

H

88

X

104

H

120

X

9

HT

25

EM

41

)

57

9

73

IO

89

Y

105

io

121

si

10

LF

26

SUB

42

*

58

:

74

J

90

z

106

J

122

z.z

11

V.T

27

ESC

43

+

59

;

75

K

91

[

107

K

123

{

12

F.F

28

FS

44

,

60

<

76

l

92

\

108

l

124

|

13

CR

29

GS

45

-

61

=

77

M

93

]

109

M

125

}

14

COSÌ

30

RS

46

.

62

>

78

N

94

^

110

N

126

~

15

SI

31

NOI

47

/

63

?

79

O

95

_

111

o

127

DEL

Come creare la tua tabella ASCII con Bash

Ci sono così tanti valori nella tabella ASCII che può essere difficile memorizzarli o prendere appunti. Per riferimento, puoi vedere tutti i valori ASCII con una piccola codifica nel tuo linguaggio di programmazione preferito, incluso uno script di shell.

Nella tabella ASCII sopra, il valore 65 corrisponde alla lettera A e il valore 90 corrisponde alla lettera Z. Invece di elaborare manualmente tutti i valori intermedi, è possibile eseguire iterazioni su tali valori e stampare i caratteri corrispondenti. Come la maggior parte degli altri linguaggi, gli script della shell Bash ti consentono di utilizzare a per loop per ripetere una o più istruzioni un certo numero di volte.

Usando queste informazioni, prova a scrivere un programma Bash che stampa tutti i valori a partire da 33 fino a 126:

#!/bin/bash

eco"Tabella ASCII"
eco""

per ((i=33; i<=126; io++))
Fare
carattere=$(printf"\\X$(printf '%02x' $i)")
printf"%-10d%-10s"$i"$char"

Se (((i+1) % 4 == 0))
Poi
printf"\N"
fi
Fatto

Questo script Bash assegna tutti i valori compresi tra 33 e 126 a a char variabile e la stampa sullo schermo. Salva questo script Bash in un file denominato mioASCII.sh ed eseguilo con il seguente comando ed esamina il risultato.

bash mioASCII.sh

Dovresti vedere una tabella utile che mostra i caratteri ASCII insieme ai loro valori decimali:

Come filtrare la tabella ASCII

Puoi fare di più con uno script Bash che visualizzare semplicemente i valori ASCII. È possibile controllare il valore ASCII dei singoli caratteri e, nell'esempio seguente, utilizzarli per filtrare il testo.

Ad esempio, proviamo a eliminare la lettera E nella parola chiave MAKEUSEOF utilizzando Bash con filtro ASCII. È possibile utilizzare la tabella di ricerca per confermare il valore ASCII di "E": 69.

#!/bin/bash
testo_originale="UTILIZZARE"
filtered_text=""
original_text_ascii=""
filtered_text_ascii=""

per ((i=0; io<${#testo_originale}; io++))
Fare
carattere="${testo_originale: i: 1}"
char_ascii=$(printf"%D""'$char'")

Se [[ "$(printf "%d" "'$char")" != "69" ]]
Poi
testo_filtrato+="$char"
filtered_text_ascii+=" $char_ascii"
fi

original_text_ascii+=" $char_ascii"
Fatto

eco"Testo originale: $testo_originale (ASCII: $testo_originale_ascii)"
eco"Equivalente ASCII della lettera E: $(printf "%d" "'E'")"
eco"Testo filtrato: $ testo_filtrato (ASCII: $filtered_text_ascii)"

In questo script, la variabile di input è la parola MAKEUSEOF. Lo script utilizza una variabile, testo_filtrato, per costruire l'output desiderato che contiene tutto tranne la lettera "E". IL per ciclo continuo scorre ogni carattere nel testo di input.

Per vedere il risultato, copia questo codice in un file denominato mioFiltro.sh e corri bash mioFiltro.sh.

Conversione da maiuscolo a minuscolo in Bash utilizzando la tabella ASCII

Puoi anche convertire le lettere maiuscole in lettere minuscole con Bash usando la tabella ASCII. Quando esamini la tabella ASCII a 7 bit, vedrai che la differenza tra i valori maiuscoli e minuscoli delle stesse lettere è sempre 32. Usando questo, la logica di un programma che può convertire una parola maiuscola in minuscola è semplice.

Ad esempio, la A maiuscola ha un valore di 65, mentre la A minuscola ha un valore di 97. Approfittando di questo, puoi scrivere uno snippet di codice come questo:

#!/bin/bash

Leggere -P "Inserisci un testo: " ingresso

testo_convertito=""

per ((i=0; io<${#input}; io++))
Fare
carattere="${input: i: 1}"
char_ascii=$(printf"%D""'$char'")

Se [[ $char_ascii -eq 32 ]]
Poi
eco"Carattere non valido: spazio"
elif [[ $char_ascii -ge 65 && $char_ascii -le 90 ]]
Poi
char_ascii=$((char_ascii + 32))
testo_convertito+=$(printf"\\$(printf '%03o' "$char_ascii")")
elif [[ $char_ascii -ge 97 && $char_ascii -le 127 ]]
Poi
testo_convertito+="$char"
altro
eco"Carattere non valido: $char"
fi
Fatto

eco"Testo convertito: $ testo_convertito"

Questo programma aggiunge 32 al valore ASCII di ogni lettera maiuscola che legge per arrivare alla corrispondente lettera minuscola. Per provarlo tu stesso, copia questo codice in un file chiamato toLowercase.sh ed eseguilo con il bash toLowercase.sh comando.

La tabella ASCII funzionerà per me?

La tabella ASCII è uno strumento prezioso per chiunque lavori con dati di testo o linguaggi di programmazione. Offre una rappresentazione standard di caratteri, numeri e simboli che i computer comprendono universalmente. Che tu sia un programmatore, un analista di dati o semplicemente qualcuno che si occupa di informazioni testuali, la tabella ASCII ha molti usi.

Ciò apre possibilità per attività come la convalida dei dati, la manipolazione del testo e le operazioni di codifica/decodifica. Facendo riferimento alla tabella ASCII, è possibile determinare rapidamente il valore ASCII di un carattere o riconvertire i valori numerici nelle loro rappresentazioni testuali. Serve come base per la comunicazione e l'interoperabilità in vari domini, rendendolo un riferimento essenziale per la programmazione relativa al testo.