A Tabela American Standard Code for Information Interchange (ASCII) é um padrão que define um conjunto de códigos numéricos usados para representar caracteres em computadores e dispositivos digitais. Cada número na tabela ASCII corresponde a um caractere específico, como letras, números, símbolos ou comandos de controle (teclas de setas, Alts, etc).
Em resumo:
| Código Decimal | Caractere |
|---|---|
| 48 | 0 |
| 49 | 1 |
| 50 | 2 |
| 51 | 3 |
| 52 | 4 |
| 53 | 5 |
| 54 | 6 |
| 55 | 7 |
| 56 | 8 |
| 57 | 9 |
| Código Decimal (Minúsculo) | Caractere Minúsculo | Código Decimal (Maiúsculo) | Caractere Maiúsculo |
|---|---|---|---|
| 97 | a | 65 | A |
| 98 | b | 66 | B |
| 99 | c | 67 | C |
| 100 | d | 68 | D |
| 101 | e | 69 | E |
| 102 | f | 70 | F |
| 103 | g | 71 | G |
| 104 | h | 72 | H |
| 105 | i | 73 | I |
| 106 | j | 74 | J |
| 107 | k | 75 | K |
| 108 | l | 76 | L |
| 109 | m | 77 | M |
| 110 | n | 78 | N |
| 111 | o | 79 | O |
| 112 | p | 80 | P |
| 113 | q | 81 | Q |
| 114 | r | 82 | R |
| 115 | s | 83 | S |
| 116 | t | 84 | T |
| 117 | u | 85 | U |
| 118 | v | 86 | V |
| 119 | w | 87 | W |
| 120 | x | 88 | X |
| 121 | y | 89 | Y |
| 122 | z | 90 | Z |
Aqui segue uma tabela ASCII resumida dos caracteres mais importantes:
| Código Decimal | Caractere |
|---|---|
| 48 | 0 |
| 57 | 9 |
| 65 | A |
| 90 | Z |
| 97 | a |
| 122 | z |
É importante saber que:
48 e 57;65 e 90;97 e 122.Não é necessário decorar a Tabela ASCII! Um código-fonte como esse abaixo já é suficiente para você obter a Tabela ASCII por completo:
#include<stdio.h>
int main(){
int i;
for(i = 10; i <= 128; i++){
printf("Caractere: %c Codigo ASCII: %d\n",i,i);
}
return 0;
}
A função abaixo converte um caractere numérico para um dígito do tipo inteiro.
Por exemplo, o caractere '3' é convertido para o inteiro 3. O código ASCII do caractere '3' é 51.
Tomamos o caractere '0', cujo código ASCII é 48, como base para essa operação. Então:
'3' - '0' = 51 - 48 = 3
A função abaixo realiza essa operação:
int char2int(char c){
int ascii;
ascii = c - 48; // equivale a: c -'0'
return ascii;
}
A função abaixo converte um dígito do inteiro (entre 0 e 9).
Por exemplo, o dígito inteiro 4 será convertido para o caractere '4'. O objetivo é obter o código ASCII do caractere '4', que é 52.
Sabendo-se que o caractere '0' possui código ASCII igual a 48, podemos somar:
48 + 4 = 52
a função fica assim:
char int2char(int num){
char c;
c = num + 48; // equivale a: c + '0'
return c;
}
Basta verificar se o código ASCII do caractere c está no intervalo [97,122], como vimos na tabela dos caracteres minúsculos acima.
A função fica então:
int ehMinusculo(char c){
if(c >= 97 && c <= 122){
return 1;
}
else{
return 0;
}
}
Nesse caso, devemos verificar se o código ASCII do caractere c está no intervalo [65,90], como vimos na tabela dos caracteres maiúsculos acima.
A função fica então:
int ehMaiusculo(char c){
if(c >= 65 && c <= 90){
return 1;
}
else{
return 0;
}
}
Nesse caso, devemos verificar se o código ASCII de um caractere c está no intervalo [48,57]:
int ehDigitoNum(char c){
if(c >= 48 && c <= 57){
return 1;
}
else{
return 0;
}
}