Si jamais vous avez besoin de travailler avec des valeurs ASCII, une table de recherche est essentielle.
La table ASCII utilise des nombres pour représenter les chiffres, les lettres et les symboles courants de l'alphabet anglais. ASCII signifie American Standard Code for Information Interchange.
Le mot a été utilisé pour la première fois par l'ANSI (American National Standards Institute) en 1973 pour combler le besoin dans ce domaine. Alors, à quoi ressemble la table ASCII et comment pouvez-vous l'utiliser ?
Qu'est-ce qu'une table ASCII et que contient-elle?
ASCII est un système de codage de caractères qui facilite la communication informatique de base. Il fournit une norme pour la représentation du texte, permettant aux ordinateurs de reconnaître et d'interpréter les valeurs ASCII de manière universelle.
Chaque lettre, nombre et symbole que l'ASCII peut représenter a une valeur unique. Par exemple, si vous examinez le tableau ASCII ci-dessous, vous verrez que les valeurs ASCII majuscules commencent à 65, la lettre majuscule A. De même, les valeurs ASCII minuscules commencent à 97, la lettre minuscule a.
Ces valeurs servent de représentations numériques des caractères, permettant une conversion facile entre les nombres et le texte.
Personnage |
ASCII |
Personnage |
ASCII |
Personnage |
ASCII |
Personnage |
ASCII |
Personnage |
ASCII |
Personnage |
ASCII |
Personnage |
ASCII |
Personnage |
ASCII |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 |
NUL |
16 |
DEL |
32 |
PS |
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 |
DC3 |
35 |
# |
51 |
3 |
67 |
C |
83 |
S |
99 |
c |
115 |
s |
4 |
EOT |
20 |
DC4 |
36 |
$ |
52 |
4 |
68 |
D |
84 |
J |
100 |
d |
116 |
t |
5 |
ENQ |
21 |
NAK |
37 |
% |
53 |
5 |
69 |
E |
85 |
tu |
101 |
e |
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 |
g |
87 |
O |
103 |
g |
119 |
w |
8 |
BS |
24 |
PEUT |
40 |
( |
56 |
8 |
72 |
H |
88 |
X |
104 |
h |
120 |
X |
9 |
HT |
25 |
EM |
41 |
) |
57 |
9 |
73 |
je |
89 |
Oui |
105 |
je |
121 |
y |
10 |
LF |
26 |
SOUS |
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 |
je |
124 |
| |
13 |
RS |
29 |
GS |
45 |
- |
61 |
= |
77 |
M |
93 |
] |
109 |
m |
125 |
} |
14 |
DONC |
30 |
RS |
46 |
. |
62 |
> |
78 |
N |
94 |
^ |
110 |
n |
126 |
~ |
15 |
SI |
31 |
NOUS |
47 |
/ |
63 |
? |
79 |
O |
95 |
_ |
111 |
o |
127 |
DEL |
Comment créer votre propre table ASCII avec Bash
Il y a tellement de valeurs dans la table ASCII qu'il peut être difficile de les mémoriser ou de prendre des notes. Pour référence, vous pouvez voir toutes les valeurs ASCII avec un peu de codage dans le langage de programmation de votre choix, y compris un script shell.
Dans le tableau ASCII ci-dessus, la valeur 65 correspond à la lettre A et la valeur 90 correspond à la lettre Z. Au lieu de calculer manuellement toutes les valeurs intermédiaires, vous pouvez parcourir ces valeurs et imprimer leurs caractères correspondants. Comme la plupart des autres langages, les scripts shell Bash vous permettent d'utiliser un pour boucle pour répéter une ou plusieurs instructions un certain nombre de fois.
À l'aide de ces informations, essayez de écrire un programme Bash qui imprime toutes les valeurs de 33 à 126 :
#!/bin/bash
écho"Tableau ASCII"
écho""pour ((i=33; i<=126; je++))
faire
car=$(printf"\\X$(printf '%02x' $i)")
printf"%-10d%-10s"$i"$char"
si (((i+1) % 4 == 0))
alors
printf"\n"
Fi
fait
Ce script Bash attribue toutes les valeurs entre 33 et 126 à un carboniser variable et l'affiche à l'écran. Enregistrez ce script Bash dans un fichier nommé monASCII.sh et exécutez-le avec la commande suivante et examinez le résultat.
bash myASCII.sh
Vous devriez voir un tableau utile montrant les caractères ASCII à côté de leurs valeurs décimales :
Comment filtrer la table ASCII
Vous pouvez faire plus avec un script Bash que simplement afficher les valeurs ASCII. Vous pouvez inspecter la valeur ASCII de caractères individuels et, dans l'exemple suivant, les utiliser pour filtrer le texte.
Par exemple, essayons de supprimer la lettre E dans le mot clé MAKEUSEOF en utilisant Bash avec un filtrage ASCII. Vous pouvez utiliser la table de recherche pour confirmer la valeur ASCII de "E": 69.
#!/bin/bash
texte_original="SE SERVIR DE"
texte_filtré=""
original_text_ascii=""
filtered_text_ascii=""pour ((j=0; je <${#original_text}; je++))
faire
caractère="${texte_original: i :1}"
char_ascii=$(printf"%d""'$char'")si [[ "$(printf "%d" "'$car")" != "69" ]]
alors
texte_filtré+="$char"
filtered_text_ascii+=" $char_ascii"
Fioriginal_text_ascii+=" $char_ascii"
fait
écho"Texte original: $original_text (ASCII: $original_text_ascii)"
écho"Équivalent ASCII de la lettre E: $(printf "%d" "'E'")"
écho"Texte filtré: $filtered_text (ASCII: $filtered_text_ascii)"
Dans ce script, la variable d'entrée est le mot MAKEUSEOF. Le script utilise une variable, texte_filtré, pour créer la sortie souhaitée qui contient tout sauf la lettre "E". Le pour boucle parcourt chaque caractère du texte d'entrée.
Pour voir le résultat, copiez ce code dans un fichier nommé monFiltre.sh et courir bash monFiltre.sh.
Conversion de majuscules en minuscules dans Bash à l'aide de la table ASCII
Vous pouvez également convertir des lettres majuscules en lettres minuscules avec Bash en utilisant la table ASCII. Lorsque vous examinez la table ASCII 7 bits, vous verrez que la différence entre les valeurs majuscules et minuscules des mêmes lettres est toujours de 32. En utilisant cela, la logique d'un programme capable de convertir un mot majuscule en minuscule est simple.
Par exemple, le A majuscule a une valeur de 65, tandis que le petit a a une valeur de 97. En profitant de cela, vous pouvez écrire un extrait de code comme celui-ci :
#!/bin/bash
lire -p "Entrez un texte: " saisir
texte_converti=""
pour ((j=0; je <${#entrée}; je++))
faire
caractère="${entrée: i: 1}"
char_ascii=$(printf"%d""'$char'")si [[ $char_ascii -eq 32 ]]
alors
écho"Caractère invalide: espace"
elif [[ $char_ascii -ge 65 && $char_ascii -le 90 ]]
alors
char_ascii=$((char_ascii + 32))
texte_converti+=$(printf"\\$(printf '%03o' "$char_ascii")")
elif [[ $char_ascii -ge 97 && $char_ascii -le 127 ]]
alors
texte_converti+="$char"
autre
écho"Caractère non valide: $char"
Fi
fait
écho"Texte converti: $texte_converti"
Ce programme ajoute 32 à la valeur ASCII de chaque lettre majuscule qu'il lit pour arriver à la lettre minuscule correspondante. Pour l'essayer par vous-même, copiez ce code dans un fichier appelé toLowercase.sh et exécutez-le avec le bash toLowercase.sh commande.
La table ASCII fonctionnera-t-elle pour moi?
La table ASCII est un outil précieux pour quiconque travaille avec des données textuelles ou des langages de programmation. Il offre une représentation standard des caractères, des nombres et des symboles que les ordinateurs comprennent universellement. Que vous soyez programmeur, analyste de données ou simplement quelqu'un qui traite des informations textuelles, la table ASCII a de nombreuses utilisations.
Cela ouvre des possibilités pour des tâches telles que la validation des données, la manipulation de texte et les opérations d'encodage/décodage. En vous référant à la table ASCII, vous pouvez déterminer rapidement la valeur ASCII d'un caractère ou reconvertir les valeurs numériques en leurs représentations textuelles. Il sert de base à la communication et à l'interopérabilité dans divers domaines, ce qui en fait une référence essentielle pour la programmation liée au texte.