ASCII

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa
Question book.svg
Esta página ou secção não cita nenhuma fonte ou referência, o que compromete sua credibilidade (desde janeiro de 2014).
Por favor, melhore este artigo providenciando fontes fiáveis e independentes, inserindo-as no corpo do texto por meio de notas de rodapé. Encontre fontes: Googlenotícias, livros, acadêmicoScirusBing. Veja como referenciar e citar as fontes.
Conjunto de caracteres ASCII imprimíveis (códigos 32 a 126).

ASCII (acrônimo para American Standard Code for Information Interchange, que em português significa "Código Padrão Americano para o Intercâmbio de Informação", mas comumente utilizamos a sigla em inglês para referencia direta) é uma codificação de caracteres de sete bits baseada no alfabeto inglês. Cada sequencia de códigos na tabela ASCII corresponde a um caractere, comumente representados pelos 8 bits (equivalente a um byte), sendo que o oitavo bit (da direita para a esquerda) serve como um bit de paridade, utilizado para detecção de erro. Os códigos ASCII representam texto 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.

A codificação define 128 caracteres, preenchendo completamente os sete bits disponíveis em 27=128 sequências possíveis. Desses, 33 não são imprimíveis, como caracteres de controle atualmente não utilizáveis para edição de texto, porém amplamente utilizados em dispositivos de comunicação, que afetam o processamento do texto.

Tabela ASCII[editar | editar código-fonte]

Caracteres não imprimíveis[editar | editar código-fonte]

Representados como a parte não imprimível da tabela ASCII, os caracteres de controle tiveram sua origem nos primórdios da computação, quando se usavam máquinas teletipo e fitas de papel perfurado.

Binário Decimal Hexa Controle Abreviação Descrição
0000 0000 00 00 ^@ NUL Null - Nulo
0000 0001 01 01 ^A SOH Start of Header - Início do cabeçalho
0000 0010 02 02 ^B STX Start of Text - Início do texto
0000 0011 03 03 ^C ETX End of Text - Fim do texto
0000 0100 04 04 ^D EOT End of Tape - Fim de fita
0000 0101 05 05 ^E ENQ Enquire - Interroga identidade do terminal
0000 0110 06 06 ^F ACK Acknowledge - Reconhecimento
0000 0111 07 07 ^G BEL Bell - Campainha
0000 1000 08 08 ^H BS Back-space - Espaço atrás
0000 1001 09 09 ^I HT Horizontal Tabulation - Tabulação horizontal
0000 1010 10 0A ^J LF Line-Feed - Alimenta linha
0000 1011 11 0B ^K VT Vertical Tabulation - Tabulação vertical
0000 1100 12 0C ^L FF Form-Feed - Alimenta formulário
0000 1101 13 0D ^M CR Carriage-Return - Retorno do carro (enter)
0000 1110 14 0E ^N SO Shift-Out - Saída do shift (passa a usar caracteres de baixo da tecla - minúsculas, etc.)
0000 1111 15 0F ^O SI Shift-In - Entrada no shift (passa a usar caracteres de cima da tecla: maiúsculas, caracteres especiais, etc.)
0001 0000 16 10 ^P DLE Data-Link Escape
0001 0001 17 11 ^Q DC1 Device-Control 1
0001 0010 18 12 ^R DC2 Device-Control 2
0001 0011 19 13 ^S DC3 Device-Control 3
0001 0100 20 14 ^T DC4 Device-Control 4
0001 0101 21 15 ^U NAK Neg-Acknowledge - Não-reconhecimento
0001 0110 22 16 ^V SYN Synchronous Idle
0001 0111 23 17 ^W ETB End-of-Transmission Block
0001 1000 24 18 ^X CAN Cancel
0001 1001 25 19 ^Y EM End-Of-Medium
0001 1010 26 1A ^Z SUB Substitute
0001 1011 27 1B ^[ ESC Escape
0001 1100 28 1C ^\ FS File Separator
0001 1101 29 1D ^] GS Group Separator
0001 1110 30 1E ^^ RS Record Separator
0001 1111 31 1F ^_ US Unit Separator
0111 1111 127 7F ^? DEL Delete

Caracteres imprimíveis[editar | editar código-fonte]

Exemplo de código para gerar os caracteres acima em diferentes linguagens de programação[editar | editar código-fonte]

Assembly[editar | editar código-fonte]

..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[editar | editar código-fonte]

10 FOR I = 32 TO 126
20 PRINT CHR$(I)
30 NEXT I

VB.NET[editar | editar código-fonte]

For A = 50 To 200
    Console.WriteLine("Número " & Chr(A))
Next

C[editar | editar código-fonte]

#include <stdio.h>
 
 
 int main() {
 
   int i;
   for ( i = 32; i < 127; i++ ) {
       printf( "%c[%d]\n", i , i );
   }
return 0;
}

C++[editar | editar código-fonte]

#include <iostream>
using namespace std;
int main() {
    for ( char i = 32; i < 127; i++ ) {
        cout << i << "[" << (int) i << "]" << endl;
    }
    return 0;
}

C# - C Sharp[editar | editar código-fonte]

using System;
static void Main(string[] args){
      for(int i=32; i<=126; i++)
            Console.WriteLine(i+" : "+(char) i);      
      }

Calc[editar | editar código-fonte]

32
m+
<<
repeat 94
  m
  sum
  1
  equ
  m+
  m
  out
  printc
  <<
endrepeat

Delphi[editar | editar código-fonte]

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)[editar | editar código-fonte]

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[editar | editar código-fonte]

public static void main(String args[]){
     for (int i = 32; i <= 126; i++) 
         System.out.println(i + " : " + (char) i);
}

Javascript[editar | editar código-fonte]

for ( var i = 32; i < 127; console.log( String.fromCharCode( i++ ) ) );

Mumps[editar | editar código-fonte]

F i=32:1:126 W !,"Caractere ",i,": ",$C(i)

Pascal[editar | editar código-fonte]

program ASCII;
var i:integer;
begin
  for i := 32 to 126 do
    writeln('Caractere ',i,': ',chr(i));
end.

Perl[editar | editar código-fonte]

print chr for 32..126;

Python[editar | editar código-fonte]

for x in range(32, 126): print (chr(x))

Php[editar | editar código-fonte]

for ( $i=32; $i <= 126; $i++ ) {
	echo chr($i);
}

Ruby[editar | editar código-fonte]

32.upto(126) do |x|
  puts x.chr
end

OpenEdge (Progress)[editar | editar código-fonte]

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[editar | editar código-fonte]

FOR i=32 TO 126 STEP 1
    ? "Caracter " + CHR(i)
ENDFOR

Ver também[editar | editar código-fonte]