Se você precisar trabalhar com valores ASCII, uma tabela de consulta é essencial.

A tabela ASCII usa números para representar dígitos, letras e símbolos comuns do alfabeto inglês. ASCII significa American Standard Code for Information Interchange.

A palavra foi usada pela primeira vez pelo ANSI (American National Standards Institute) em 1973 para preencher a necessidade neste campo. Então, como é a tabela ASCII e como você pode usá-la?

O que é uma tabela ASCII e o que ela contém?

ASCII é um sistema de codificação de caracteres que facilita a comunicação básica do computador. Ele fornece um padrão para representação de texto, permitindo que os computadores reconheçam e interpretem valores ASCII universalmente.

Cada letra, número e símbolo que o ASCII pode representar tem um valor único. Por exemplo, se você examinar a tabela ASCII abaixo, verá que os valores ASCII maiúsculos começam em 65, a letra A maiúscula. Da mesma forma, os valores ASCII minúsculos começam em 97, a letra minúscula a.

Esses valores servem como representações numéricas de caracteres, permitindo fácil conversão entre números e texto.

Personagem

ASCII

Personagem

ASCII

Personagem

ASCII

Personagem

ASCII

Personagem

ASCII

Personagem

ASCII

Personagem

ASCII

Personagem

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

você

101

e

117

você

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

C

103

g

119

c

8

BS

24

PODE

40

(

56

8

72

H

88

x

104

h

120

x

9

HT

25

EM

41

)

57

9

73

EU

89

Y

105

eu

121

y

10

LF

26

SUB

42

*

58

:

74

J

90

Z

106

j

122

z

11

TV

27

ESC

43

+

59

;

75

k

91

[

107

k

123

{

12

FF

28

FS

44

,

60

<

76

eu

92

\

108

eu

124

|

13

CR

29

GS

45

-

61

=

77

M

93

]

109

m

125

}

14

ENTÃO

30

RS

46

.

62

>

78

N

94

^

110

n

126

~

15

SI

31

NÓS

47

/

63

?

79

O

95

_

111

o

127

DEL

Como criar sua própria tabela ASCII com Bash

Existem tantos valores na tabela ASCII que pode ser difícil memorizar ou fazer anotações. Para referência, você pode ver todos os valores ASCII com um pouco de codificação na linguagem de programação de sua escolha, incluindo um script de shell.

Na tabela ASCII acima, o valor 65 corresponde à letra A e o valor 90 corresponde à letra Z. Em vez de calcular manualmente todos os valores intermediários, você pode iterar sobre esses valores e imprimir seus caracteres correspondentes. Como a maioria das outras linguagens, os scripts de shell Bash permitem que você use um para loop para repetir uma ou mais instruções um certo número de vezes.

Usando essas informações, tente escrever um programa Bash que imprime todos os valores começando de 33 a 126:

#!/bin/bash

eco"Tabela ASCII"
eco""

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

se (((i+1) % 4 == 0))
então
printf"\n"
fi
feito

Este script Bash atribui todos os valores entre 33 e 126 a um Caracteres variável e a imprime na tela. Salve este script Bash em um arquivo chamado meuASCII.sh e execute-o com o seguinte comando e examine o resultado.

bash myASCII.sh

Você deve ver uma tabela útil mostrando caracteres ASCII ao lado de seus valores decimais:

Como Filtrar a Tabela ASCII

Você pode fazer mais com um script Bash do que apenas visualizar valores ASCII. Você pode inspecionar o valor ASCII de caracteres individuais e, no exemplo a seguir, usá-los para filtrar o texto.

Por exemplo, vamos tentar excluir a letra E na palavra-chave MAKEUSEOF usando Bash com filtragem ASCII. Você pode usar a tabela de pesquisa para confirmar o valor ASCII de "E": 69.

#!/bin/bash
texto_original="FAZER USO DE"
filtro_texto=""
original_text_ascii=""
filtrado_texto_ascii=""

para ((i=0; eu<${#original_text}; i++))
fazer
char="${original_text: i: 1}"
char_ascii=$(printf"%d""'$char'")

se [[ "$(printf "%d" "'$char")" != "69" ]]
então
filtro_texto+="$char"
filtrado_texto_ascii+=" $char_ascii"
fi

original_text_ascii+=" $char_ascii"
feito

eco"Texto original: $original_text (ASCII: $original_text_ascii)"
eco"Equivalente ASCII da letra E: $(printf "%d" "'E'")"
eco"Texto filtrado: $filtered_text (ASCII: $filtered_text_ascii)"

Nesse script, a variável de entrada é a palavra MAKEUSEOF. O script usa uma variável, texto_filtrado, para construir a saída desejada que contém tudo, exceto a letra "E". O para laço itera através de cada caractere no texto de entrada.

Para ver o resultado, copie este código para um arquivo chamado meuFiltro.sh e corra bash myFilter.sh.

Convertendo letras maiúsculas em minúsculas no Bash usando a tabela ASCII

Você também pode converter letras maiúsculas em minúsculas com Bash usando a tabela ASCII. Ao examinar a tabela ASCII de 7 bits, você verá que a diferença entre os valores maiúsculos e minúsculos das mesmas letras é sempre 32. Usando isso, a lógica de um programa que pode converter uma palavra maiúscula em minúscula é direta.

Por exemplo, o A maiúsculo tem o valor de 65, enquanto o a minúsculo tem o valor de 97. Aproveitando isso, você pode escrever um trecho de código como este:

#!/bin/bash

ler -p "Digite um texto: " entrada

convertido_texto=""

para ((i=0; eu<${#input}; i++))
fazer
char="${entrada: i: 1}"
char_ascii=$(printf"%d""'$char'")

se [[ $char_ascii -equação 32]]
então
eco"Caractere inválido: espaço"
elif [[ $char_ascii -ge 65 && $char_ascii -le 90 ]]
então
char_ascii=$((char_ascii + 32))
texto_convertido+=$(printf"\\$(printf '%03o' "$char_ascii")")
elif [[ $char_ascii -ge 97 && $char_ascii -le 127 ]]
então
texto_convertido+="$char"
outro
eco"Caractere inválido: $char"
fi
feito

eco"Texto convertido: $convertido_texto"

Este programa adiciona 32 ao valor ASCII de cada letra maiúscula que lê para chegar à letra minúscula correspondente. Para experimentar você mesmo, copie este código para um arquivo chamado toLowercase.sh e executá-lo com o bash toLowercase.sh comando.

A tabela ASCII funcionará para mim?

A tabela ASCII é uma ferramenta valiosa para quem trabalha com dados de texto ou linguagens de programação. Ele oferece uma representação padrão de caracteres, números e símbolos que os computadores entendem universalmente. Seja você um programador, um analista de dados ou simplesmente alguém lidando com informações textuais, a tabela ASCII tem muitos usos.

Isso abre possibilidades para tarefas como validação de dados, manipulação de texto e operações de codificação/decodificação. Ao consultar a tabela ASCII, você pode determinar rapidamente o valor ASCII de um caractere ou converter valores numéricos de volta em suas representações textuais. Ele serve como base para comunicação e interoperabilidade em vários domínios, tornando-se uma referência essencial para programação relacionada a texto.