ASCII

Disambig grey.svg Nota: Para a empresa japonesa, veja ASCII Corporation.

ASCII (do inglês American Standard Code for Information Interchange; "Código Padrão Americano para o Intercâmbio de Informação") — geralmente pronunciado [áski] — é um código binário (cadeias de bits: 0s e 1s) que codifica um conjunto de 128 sinais: 95 sinais gráficos (letras do alfabeto latino, sinais de pontuação e sinais matemáticos) e 33 sinais de controle, utilizando portanto apenas 7 bits para representar todos os seus símbolos [1].

Note que como cada byte possui 8 bits, o bit não utilizado pela tabela ASCII pode ser utilizado de formas diferentes. Por exemplo, o padrão UTF-8 utiliza o bit excedente do primeiro byte para indicar que o Code point tem um valor que excede os valores da tabela ASCII (acima de 127) e necessitará de mais bytes para ser representado. Já a Microsoft utilizou este bit excedente para codificação de caracteres adicionais no Windows Code Page. Outra utilização do bit excedente é informar a paridade em transmissões assíncronas de baixa velocidade. Enfim, a existência de um bit excedente em cada byte cria oportunidades para utilizar os 7 bits da Tabela ASCII em diferentes codificações não padronizadas, algumas vezes chamadas de "Tabela ASCII", que erroneamente passa a ideia que a Tabela ASCII foi oficialmente ampliada para utilizar 8 bits, fato que nunca ocorreu.

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.

O código ASCII é muito utilizado para conversão de Código Binário para Letras do alfabeto Maiúsculas ou minúsculas.

Sinais de controle (não-imprimíveis)

Bin

Oct Dec Hex Abrev Notação com
circunflexo
Código escape 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 \t 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 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)