Si alguna vez tiene la necesidad de trabajar con valores ASCII, una tabla de búsqueda es esencial.

La tabla ASCII usa números para representar dígitos, letras y símbolos comunes del alfabeto inglés. ASCII significa Código estándar estadounidense para el intercambio de información.

La palabra fue utilizada por primera vez por ANSI (American National Standards Institute) en 1973 para satisfacer la necesidad en este campo. Entonces, ¿cómo se ve la tabla ASCII y cómo puede usarla?

¿Qué es una tabla ASCII y qué contiene?

ASCII es un sistema de codificación de caracteres que facilita la comunicación informática básica. Proporciona un estándar para la representación de texto, lo que permite que las computadoras reconozcan e interpreten los valores ASCII universalmente.

Cada letra, número y símbolo que ASCII puede representar tiene un valor único. Por ejemplo, si examina la siguiente tabla ASCII, verá que los valores ASCII en mayúsculas comienzan en 65, la letra A mayúscula. Asimismo, los valores ASCII en minúscula comienzan en 97, la letra minúscula a.

instagram viewer

Estos valores sirven como representaciones numéricas de caracteres, lo que permite una fácil conversión entre números y texto.

Personaje

ASCII

Personaje

ASCII

Personaje

ASCII

Personaje

ASCII

Personaje

ASCII

Personaje

ASCII

Personaje

ASCII

Personaje

ASCII

0

NULO

16

DEL

32

SP

48

0

64

@

80

PAG

96

`

112

pag

1

SOL

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

fin de semana

20

DC4

36

$

52

4

68

D

84

T

100

d

116

t

5

ENQ

21

NAK

37

%

53

5

69

mi

85

tu

101

mi

117

tu

6

ACK

22

SYN

38

&

54

6

70

F

86

V

102

F

118

v

7

BEL

23

ETB

39

'

55

7

71

GRAMO

87

W

103

gramo

119

w

8

licenciatura

24

PODER

40

(

56

8

72

H

88

X

104

h

120

X

9

HT

25

EM

41

)

57

9

73

I

89

Y

105

i

121

y

10

LF

26

SUB

42

*

58

:

74

j

90

Z

106

j

122

z

11

Vermont

27

ESC

43

+

59

;

75

k

91

[

107

k

123

{

12

FF

28

FS

44

,

60

<

76

L

92

\

108

yo

124

|

13

RC

29

SG

45

-

61

=

77

METRO

93

]

109

metro

125

}

14

ENTONCES

30

RS

46

.

62

>

78

norte

94

^

110

norte

126

~

15

SI

31

A NOSOTROS

47

/

63

?

79

O

95

_

111

o

127

DEL

Cómo crear su propia tabla ASCII con Bash

Hay tantos valores en la tabla ASCII que puede ser difícil memorizarlos o tomar notas. Como referencia, puede ver todos los valores ASCII con un poco de codificación en el lenguaje de programación de su elección, incluido un script de shell.

En la tabla ASCII anterior, el valor 65 corresponde a la letra A y el valor 90 corresponde a la letra Z. En lugar de calcular manualmente todos los valores intermedios, puede iterar sobre esos valores e imprimir sus caracteres correspondientes. Como la mayoría de los otros lenguajes, los scripts de shell de Bash le permiten usar un para bucle para repetir una o más instrucciones un cierto número de veces.

Usando esta información, trate de escribir un programa bash que imprime todos los valores a partir de 33 a 126:

#!/bin/bash

eco"Tabla ASCII"
eco""

para ((i=33; i<=126; i++))
hacer
car=$(imprimir"\\X$(printf '%02x' $i)")
imprimir"%-10d%-10s"$yo"$caracter"

si (((i+1) % 4 == 0))
entonces
imprimir"\norte"
fi
hecho

Este script de Bash asigna todos los valores entre 33 y 126 a un carbonizarse variable y la imprime en la pantalla. Guarde este script Bash en un archivo llamado miASCII.sh y ejecútelo con el siguiente comando y examine el resultado.

bash myASCII.sh

Debería ver una tabla útil que muestra los caracteres ASCII junto con sus valores decimales:

Cómo filtrar la tabla ASCII

Puede hacer más con un script Bash que solo ver valores ASCII. Puede inspeccionar el valor ASCII de caracteres individuales y, en el siguiente ejemplo, utilizarlos para filtrar texto.

Por ejemplo, intentemos eliminar la letra E en la palabra clave MAKEUSEOF usando Bash con filtrado ASCII. Puede usar la tabla de búsqueda para confirmar el valor ASCII de "E": 69.

#!/bin/bash
texto_original="HACER USO DE"
texto_filtrado=""
texto_original_ascii=""
texto_filtrado_ascii=""

para ((i=0; yo<${#texto_original}; i++))
hacer
char="${texto_original: i: 1}"
char_ascii=$(imprimir"%d""'$caracter'")

si [[ "$(printf "%d" "'$caracter")" != "69" ]]
entonces
texto_filtrado+="$caracter"
texto_filtrado_ascii+=" $char_ascii"
fi

texto_original_ascii+=" $char_ascii"
hecho

eco"Texto original: $texto_original (ASCII: $texto_original_ascii)"
eco"Equivalente ASCII de la letra E: $(printf "%d" "'E'")"
eco"Texto filtrado: $texto_filtrado (ASCII: $texto_filtrado_ascii)"

En este script, la variable de entrada es la palabra MAKEUSEOF. El script usa una variable, texto_filtrado, para construir la salida deseada que contiene todo excepto la letra "E". El para bucle itera a través de cada carácter en el texto de entrada.

Para ver el resultado, copie este código en un archivo llamado miFiltro.sh y correr bash miFiltro.sh.

Conversión de mayúsculas a minúsculas en Bash usando la tabla ASCII

También puede convertir letras mayúsculas a minúsculas con Bash usando la tabla ASCII. Cuando examine la tabla ASCII de 7 bits, verá que la diferencia entre los valores en mayúsculas y minúsculas de las mismas letras es siempre 32. Con esto, la lógica de un programa que puede convertir una palabra en mayúsculas en minúsculas es sencilla.

Por ejemplo, la A mayúscula tiene un valor de 65, mientras que la a pequeña tiene un valor de 97. Aprovechando esto, puedes escribir un fragmento de código como este:

#!/bin/bash

leer -pag "Ingrese un texto: " aporte

texto_convertido=""

para ((i=0; yo<${#entrada}; i++))
hacer
char="${entrada: i: 1}"
char_ascii=$(imprimir"%d""'$caracter'")

si [[ $char_ascii -eq 32 ]]
entonces
eco"Carácter no válido: espacio"
elif [[ $char_ascii -ge 65 && $char_ascii -le 90 ]]
entonces
char_ascii=$((char_ascii + 32))
texto_convertido+=$(imprimir"\\$(printf '%03o' "$char_ascii")")
elif [[ $char_ascii -ge 97 && $char_ascii -le 127 ]]
entonces
texto_convertido+="$caracter"
demás
eco"Carácter invalido: $caracter"
fi
hecho

eco"Texto convertido: $texto_convertido"

Este programa suma 32 al valor ASCII de cada letra mayúscula que lee para llegar a la letra minúscula correspondiente. Para probarlo usted mismo, copie este código en un archivo llamado toLowercase.sh y ejecutarlo con el bash toLowercase.sh dominio.

¿Funcionará para mí la tabla ASCII?

La tabla ASCII es una herramienta valiosa para cualquiera que trabaje con datos de texto o lenguajes de programación. Ofrece una representación estándar de caracteres, números y símbolos que las computadoras entienden universalmente. Tanto si es un programador, un analista de datos o simplemente alguien que trabaja con información textual, la tabla ASCII tiene muchos usos.

Esto abre posibilidades para tareas como validación de datos, manipulación de texto y operaciones de codificación/descodificación. Al consultar la tabla ASCII, puede determinar rápidamente el valor ASCII de un carácter o convertir valores numéricos a sus representaciones textuales. Sirve como base para la comunicación y la interoperabilidad en varios dominios, lo que lo convierte en una referencia esencial para la programación relacionada con el texto.