ASCII, do inglês American Standard Code for Information Interchange, é o Código Padrão Americano para o Intercâmbio de Informação. Trata-se de um código binário (cadeias de bits: 0s e 1s) que codifica um conjunto de 128 sinais: 96 sinais gráficos (letras do alfabeto latino, sinais de pontuação e sinais matemáticos) e 32 sinais de controle. Cada código binário possui 8 bits ( = 1 byte ): 7 bits para o propósito de codificação e 1 bit de paridade (detecção de erro).
A codificação ASCII é usada para representar textos em computadores, equipamentos de comunicação, entre outros dispositivos que trabalham com texto. Desenvolvida a partir de 1960, grande parte das codificações de caracteres modernas a herdaram como base.
Os sinais não-imprimíveis, conhecidos como caracteres de controle, são amplamente utilizados em dispositivos de comunicação e afetam o processamento do texto.
Sinais de controle MECATRONICA 3 MANDA NO CEP
Bin | Oct | Dec | Hex | Abrev | [1] | [2] | Nome |
---|---|---|---|---|---|---|---|
0000 0000 | 000 | 00 | 00 | NUL | ^@ | \0 | Nulo (inglês Null) |
0000 0001 | 001 | 01 | 01 | SOH | ^A | Início de cabeçalho (inglês Start of Header) | |
0000 0010 | 002 | 02 | 02 | STX | ^B | Início de texto (inglês Start of Text) | |
0000 0011 | 003 | 03 | 03 | ETX | ^C | Fim de texto (inglês End of Text) | |
0000 0100 | 004 | 04 | 04 | EOT | ^D | Fim de transmissão (inglês End of Transmission) | |
0000 0101 | 005 | 05 | 05 | ENQ | ^E | Consulta; inquirição (inglês Enquiry) | |
0000 0110 | 006 | 06 | 06 | ACK | ^F | Confirmação (inglês Acknowledge) | |
0000 0111 | 007 | 07 | 07 | BEL | ^G | \a | Campainha; sinal sonoro (inglês Bell) |
0000 1000 | 010 | 08 | 08 | BS | ^H | \b | Espaço atrás; retorno de 1 caractere (inglês Back-space) |
0000 1001 | 011 | 09 | 09 | HT | ^I | Tabulação horizontal (inglês Horizontal Tabulation) | |
0000 1010 | 012 | 10 | 0A | LF | ^J | \n | Alimentação de linha; mudança de linha; nova linha (inglês Line Feed) |
0000 1011 | 013 | 11 | 0B | VT | ^K | \v | Tabulação vertical (inglês Vertical Tabulation) |
0000 1100 | 014 | 12 | 0C | FF | ^L | \f | Alimentação de formulário (inglês Form Feed) |
0000 1101 | 015 | 13 | 0D | CR | ^M | \r | Retorno do carro; retorno ao início da linha (inglês Carriage Return) |
0000 1110 | 016 | 14 | 0E | SO | ^N | Mover para fora; deslocamento para fora (inglês Shift Out) | |
0000 1111 | 017 | 15 | 0F | SI | ^O | Mover para dentro; deslocamento para dentro (inglês Shift In) | |
0001 0000 | 020 | 16 | 10 | DLE | ^P | escape do linque de dados; escape de conexão (inglês Data-Link Escape) | |
0001 0001 | 021 | 17 | 11 | DC1 | ^Q | Controle de dispositivo 1 (inglês Device Control 1) | |
0001 0010 | 022 | 18 | 12 | DC2 | ^R | Controle de dispositivo 2 (inglês Device Control 2) | |
0001 0011 | 023 | 19 | 13 | DC3 | ^S | Controle de dispositivo 3 (inglês Device Control 3) | |
0001 0100 | 024 | 20 | 14 | DC4 | ^T | Controle de dispositivo 4 (inglês Device Control 4) | |
0001 0101 | 025 | 21 | 15 | NAK | ^U | Confirmação negativa (inglês Negative-Acknowledge) | |
0001 0110 | 026 | 22 | 16 | SYN | ^V | Estado ocioso síncrono; espera síncrona (inglês Synchronous Idle) | |
0001 0111 | 027 | 23 | 17 | ETB | ^W | Bloco de fim de transmissão (inglês End of Transmission Block) | |
0001 1000 | 030 | 24 | 18 | CAN | ^X | Cancelar (inglês Cancel) | |
0001 1001 | 031 | 25 | 19 | EM | ^Y | Fim de mídia; fim do meio (inglês End of Medium) | |
0001 1010 | 032 | 26 | 1A | SUB | ^Z | Substituir (inglês Substitute) | |
0001 1011 | 033 | 27 | 1B | ESC | ^[ | Escapar (inglês Escape) | |
0001 1100 | 034 | 28 | 1C | FS | ^\ | Separador de arquivos (inglês File Separator) | |
0001 1101 | 035 | 29 | 1D | GS | ^] | \e[3] | Separador de grupos (inglês Group Separator) |
0001 1110 | 036 | 30 | 1E | RS | ^^ | Separador de registros (inglês Record Separator) | |
0001 1111 | 037 | 31 | 1F | US | ^_ | Separador de unidades (inglês Unit Separator) | |
0111 1111 | 177 | 127 | 7F | DEL | ^? | Deletar (inglês Delete) |
Sinais gráficos (imprimíveis)
|
|
|
Como gerar os caracteres ASCII imprimíveis em diferentes linguagens de programação
- Assembly
..start:
mov cx,95 ;número de caracteres
mov dl,32 ;número decimal do primeiro caractere, equivalente a 20H
mov ah,02 ;função que imprime caractere na tela
ASCII:
int 21h
inc dl ;próximo caractere
loop ASCII ;repete mostra caractere
mov ax,4c00h ;encerra o programa e retorna ao sistema operacional
int 21h
- Basic
10 FOR I = 32 TO 126
20 PRINT CHR$(I)
30 NEXT I
- VB.NET
For A = 50 To 200
Console.WriteLine("Número " & Chr(A))
Next
- C
#include <stdio.h>
int main() {
int i;
for ( i = 32; i < 127; i++ ) {
printf( "%c [%d]\n", i , i );
}
return 0;
}
- C++
#include <iostream>
using namespace std;
int main() {
for ( char i = 32; i < 127; i++ ) {
cout << i << "[" << (int) i << "]" << endl;
}
return 0;
}
- C# (C Sharp)
using System;
static void Main(string[] args){
for(int i=32; i<=126; i++)
Console.WriteLine(i+" : "+(char) i);
}
- Calc
32
m+
<<
repeat 94
m
sum
1
equ
m+
m
out
printc
<<
endrepeat
- Delphi
procedure TForm1.Button4Click(Sender: TObject);
var i:integer;
begin
for i := 32 to 283 do
memo1.lines.add('#'+inttostr(i)+': '+chr(i));
end;
- GML (Game Maker Language)
texto='';
for(i=32;i<=126;i+=1) {
texto+=chr(i)+chr(13); //adiciona o caractere e uma nova linha
}
show_message(texto); //mostra os caracteres
- Java
public static void main(String args[]){
for (int i = 32; i <= 126; i++)
System.out.println(i + " : " + (char) i);
}
- Javascript
for ( var i = 32; i < 127; console.log( String.fromCharCode( i++ ) ) );
- Mumps
F i=32:1:126 W !,"Caractere ",i,": ",$C(i)
- Pascal
program ASCII;
var i:integer;
begin
for i := 32 to 126 do
writeln('Caractere ',i,': ',chr(i));
end.
- Perl
print chr for 32..126;
- Python
for x in range(32, 126): print (chr(x))
- Php
for ( $i=32; $i <= 126; $i++ ) {
echo chr($i);
}
- Ruby
32.upto(126) do |x|
puts x.chr
end
- OpenEdge (Progress)
def var cont as integer.
def var texto as character format "x(10)" EXTENT 255.
do cont = 1 to 255:
assign
texto[cont] = string(cont) + " - " + chr(cont).
end.
disp texto
with no-labels title "The book is on the Table ASCII "
scrollbar-vertical.
- Visual FoxPro
FOR i=32 TO 126 STEP 1
? "Caracter " + CHR(i)
ENDFOR
Referências
Este artigo não cita fontes confiáveis. (Janeiro de 2014) |
Ver também
Notas
- ↑ 1,0 1,1 Notação com circunflexo (inglês caret notation).
- ↑ 2,0 2,1 Códigos usados em C e em muitas linguagens influenciadas por C, como Java e Perl (ainda que nem todos os códigos sejam necessariamente implementados em todas).
- ↑ 3,0 3,1 Não figura no C ISO e nem em outras especificações, mas é compreendido por uma variedade de compiladores.