Conteúdo verificado

ASCII

Fundo para as escolas Wikipédia

Arranjar uma seleção Wikipedia para as escolas no mundo em desenvolvimento sem internet foi uma iniciativa da SOS Children. SOS Children trabalha em 45 países africanos; você pode ajudar uma criança em ?frica ?

Um gráfico de ASCII de um manual da impressora 1972

A American Standard Code for Information Interchange (ASCII, Pronúncia: / æ s k Eu / ASS -kee;) é um esquema de codificação de caracteres originalmente baseado no Alfabeto Inglês. Códigos ASCII representam texto em computadores , comunicações equipamentos, e outros dispositivos que usam o texto. A maioria dos esquemas de codificação de caracteres modernos são baseados em ASCII, embora eles suportam muitos personagens adicionais.

ASCII desenvolvido a partir de códigos telegráficos. A sua primeira utilização comercial foi como um de sete bocado código de teletipo promovido por serviços de dados de Bell. O trabalho sobre o padrão ASCII começou em 6 de Outubro de 1960, com a primeira reunião do (ASA) subcomissão X3.2 Associação Americana de Padrões. A primeira edição da norma foi publicada durante 1963, uma revisão importante durante 1967, ea atualização mais recente durante 1986. Em comparação com códigos de telégrafo anteriores, o código de Bell proposto e ASCII foram ambos ordenados por classificação mais conveniente (ou seja, alfabetização) de listas e recursos adicionais para fins que não teleprinters dispositivos.

ASCII inclui definições para 128 caracteres: 33 são não-impressão caracteres de controle (muitos agora obsoleto) que afectam o modo de texto e espaço são processados e 95 caracteres imprimíveis, incluindo a espaço (que é considerado um gráfico invisível).

O IANA prefere o nome US-ASCII para evitar ambiguidades. ASCII foi a codificação de caracteres mais comumente usado na World Wide Web até dezembro de 2007, quando foi ultrapassado por UTF-8.

História

A American Standard Code for Information Interchange (ASCII) foi desenvolvido sob os auspícios de um comitê da American Standards Association, chamou o comitê X3, por sua X3.2 (mais tarde X3L2) subcomitê, e mais tarde por X3.2.4 grupo de trabalho que da subcomissão . O ASA tornou-se nos Estados Unidos da América ou Standards Institute USASI e, finalmente, o American National Standards Institute.

O ASCII projetado subcomissão X3.2 com base na anterior sistemas de codificação teletipo. À semelhança de outros codificações de caracteres, ASCII especifica uma correspondência entre padrões e bits digitais símbolos de caracteres (ou seja, grafemas e caracteres de controle). Isto permite dispositivos digitais para se comunicar uns com os outros e para processar, armazenar e transmitir informações orientada para o personagem, como língua escrita. Antes ASCII foi desenvolvido, as codificações em uso incluído 26 caracteres alfabéticos, 10 dígitos numéricos , e 11-25 símbolos gráficos especiais. Para incluir todos estes, e caracteres de controle compatíveis com o Comitê Consultivo Internacional Téléphonique et Telegraphique (CCITT) Internacional Telegraph Alphabet No. 2 (ITA2) padrão, Fieldata, e no início EBCDIC, códigos de mais de 64 foram necessárias para ASCII.

A comissão debateu a possibilidade de uma mudar a tecla de função (como a Código de Baudot), o que permitiria que códigos mais de 64 para ser representado por seis bocados. Em um código mudou, alguns códigos de caracteres determinar escolhas entre opções para os seguintes códigos de caracteres. Ele permite a codificação compacta, mas é menos confiável para a transmissão de dados; um erro na transmissão do código de mudança tipicamente faz uma longa parte da transmissão ilegível. O comitê de padrões decidiu contra a mudança, e assim ASCII necessários, pelo menos, um código de sete bits.

A comissão considerou um código de oito bits, uma vez que oito bits ( octetos) permitiria dois padrões de quatro bits para codificar eficientemente com dois dígitos decimal codificado binário. No entanto, seria necessário toda a transmissão de dados para enviar oito bits quando sete poderia bastar. A comissão votou para utilizar um código de sete bits para minimizar os custos associados com a transmissão de dados. Uma vez que a fita perfurada no momento pode gravar oito bits em uma posição, que também permitiu uma bit de paridade para verificação de erros, se desejar. Máquinas de oito bits (com octetos como o tipo de dados nativo) que não utilizam a verificação de paridade normalmente definir o oitavo bit a 0.

O código em si foi modelado de forma que a maioria dos códigos de controle estavam juntos, e todos os códigos gráficos estavam juntos, para facilitar a identificação. As duas primeiras colunas (32 posições) foram reservados para caracteres de controle.} A Caractere "espaço" teve que vir antes gráficos para fazer triagem mais fácil, por isso, tornou-se a posição 20 hexadecimal ; pela mesma razão, muitos sinais especiais vulgarmente utilizados como separadores foram colocados antes de dígitos. A comissão decidiu que era importante apoiar letra maiúscula Alfabetos 64 caracteres, e optou por padrão ASCII para que pudesse ser facilmente reduzida a um conjunto de 64 caracteres utilizáveis de códigos gráficos. Letras minúsculas, portanto, não foram intercalados com maiúsculas. Para manter as opções disponíveis para letras minúsculas e outros gráficos, os códigos numéricos especiais e foram organizadas antes das letras, ea letra "A" foi colocado na posição 41 hex para coincidir com o rascunho do padrão britânico correspondente. Os dígitos 0-9 foram dispostas de forma a corresponder a valores em binário com prefixo 011, que faz a conversão com codificado binário simples decimal.

Muitos dos caracteres não alfanuméricos foram posicionados para corresponder à sua posição deslocada em máquinas de escrever. Assim, #, $% e foram colocadas para corresponder a 3, 4, e 5 na coluna adjacente. Os parênteses não poderia corresponder a 9 e 0, no entanto, porque o lugar correspondente a 0 foi feita pelo o carácter de espaço. Uma vez que muitas máquinas de escrever Europeias colocados os parênteses com 8 e 9, as posições correspondentes foram escolhidos para os parênteses. O símbolo @ não foi utilizada na Europa continental e da comissão esperava que seria substituído por um a acentuado na variação francês, de modo que o @ foi colocado na posição 40 hex ao lado da letra A.

Os códigos de controle sentiu essencial para a transmissão de dados foram o início de mensagem (SOM), fim do endereço (EOA), fim da mensagem (MOE), o fim da transmissão (EOT), "quem é você?" (WRU), "é você?" (RU), um controle de dispositivo reservado (dc0), idle síncrona (SYNC), e reconhecer (ACK). Estes foram posicionados para maximizar o A distância de Hamming entre os seus padrões de bits.

Com a outra caracteres especiais e códigos de controle preenchidos, ASCII foi publicado como ASA X3.4-1963, deixando 28 posições de código sem qualquer significado atribuído, reservados para a futura normalização, e um código de controle não atribuído. Houve algum debate no momento se deve haver mais caracteres de controle em vez do alfabeto letras minúsculas. A indecisão não durou muito tempo: durante Maio de 1963, o Grupo de Trabalho CCITT no Telegraph Alphabet Nova proposta para atribuir caracteres minúsculos para colunas 6 e 7, e International Organization for Standardization TC 97 SC 2 votado em outubro para incorporar a mudança no seu projecto de norma. O grupo de trabalho X3.2.4 votou a sua aprovação para que a alteração ASCII na sua reunião maio 1963. Localizando as letras minúsculas nas colunas 6 e 7 causou os personagens sejam diferentes em padrão de bits a partir do caso superior por um único bit, o que simplificou sensível a maiúsculas de caráter ea construção de teclados e impressoras.

A comissão X3 feito outras mudanças, incluindo outros novos personagens (o cinta e personagens de linha vertical), renomeando alguns caracteres de controle (SOM tornou-se começar de cabeçalho (SOH)) e mover ou remover os outros (RU foi removido). ASCII foi posteriormente atualizado como USASI X3.4-1967, então USASI X3.4-1968, ANSI X3.4-1977 e, finalmente, ANSI X3.4-1986 (os dois primeiros são ocasionalmente retronamed ANSI X3.4-1967, e ANSI X3.4-1968).

A comissão X3 também abordou como ASCII devem ser transmitidos ( bit menos significativo primeiro), e como ele deve ser gravado em fita perfurada. Eles propuseram uma Padrão 9-track para fita magnética, e tentou lidar com algumas formas de formatos de cartões perfurados.

ASCII em si foi usada comercialmente pela primeira vez durante 1963 como um código de teletipo sete bits para American Telephone & Telegraph rede da TWX (teletypewriter eXchange). TWX originalmente usado o código Baudot de cinco pouco mais cedo, o que também foi utilizado pelo concorrente Sistema teleprinter Telex. Bob Bemer introduziu características tais como a seqüência de escape. Seu colega britânico Hugh Ross McGregor ajudou a popularizar este acordo-obra para Bemer, "tanto assim que o código que viria a se tornar ASCII foi chamado pela primeira vez o Código Bemer-Ross na Europa". Por causa de seu extenso trabalho em ASCII, Bemer tem sido chamado de "o pai da ASCII."

Em 11 de março de 1968, o presidente norte-americano Lyndon B. Johnson determinou que todos os computadores comprados pelo governo federal apoio ASCII Estados Unidos, afirmando:

Eu também aprovou as recomendações do Secretário de Comércio em relação às normas para o registro do Código Padrão para Intercâmbio de Informações sobre fitas magnéticas e fitas de papel quando eles são usados em operações de computador. Todos os computadores e configurações de equipamentos relacionados trazidos para o inventário Governo Federal em e depois de 1 de julho de 1969, deve ter a capacidade de usar o Standard Code for Information Interchange e os formatos previstos nas normas de fita e papel de fita magnética quando esses meios são utilizados.

Outros organismos internacionais de normalização ratificaram codificações de caracteres, tais como ISO / IEC 646 que são idênticos ou quase idêntico ao ASCII, com extensões para caracteres fora do alfabeto Inglês e símbolos utilizados fora dos Estados Unidos, tais como o símbolo para a do Reino Unido libra esterlina (£). Quase todos os países necessária uma versão adaptada do ASCII, desde ASCII adequados às necessidades de só os EUA e alguns outros países. Por exemplo, o Canadá teve sua própria versão que apoiou personagens franceses. Outras codificações adaptadas incluem ISCII (?ndia), VISCII (Vietname), e YUSCII (Jugoslávia). Embora estas codificações são por vezes referido como ASCII, ASCII verdadeiro é definido estritamente apenas por padrão ANSI.

ASCII foi incorporada ao Conjunto de caracteres Unicode como os primeiros 128 símbolos, de modo que os caracteres ASCII têm os mesmos códigos numéricos em ambos os conjuntos. Isto permite UTF-8 para ser compatível com ASCII, uma vantagem significativa.

Caracteres de controle ASCII

Reservas ASCII os primeiros 32 códigos (números decimais 0-31) para caracteres de controle: códigos originalmente destinados não para representar informação impressa, mas sim para controlar dispositivos (tais como impressoras) que fazem uso de ASCII, ou para fornecer meta-informação sobre fluxos de dados, tais como os armazenados em fitas magnéticas. Por exemplo, caráter 10 representa a função "line feed" (que faz com que uma impressora para fazer avançar o seu papel), eo caráter 8 representa "retrocesso". RFC 2822 refere-se a controlar personagens que não incluem retorno de carro, alimentação de linha ou espaço em branco como caracteres de controle não-espaço em branco. Exceto para os caracteres de controle que prescrevem formatação orientada a linha primária, ASCII não define nenhum mecanismo para descrever a estrutura ou aparência do texto dentro de um documento. Outros esquemas, tais como linguagens de marcação , página de endereço e layout do documento e formatação.

O padrão ASCII original usado frases descritivas única curtas para cada caractere de controle. A ambiguidade dessa causada às vezes era intencional (onde um personagem seria usado de forma ligeiramente diferente em um elo terminal do que em um fluxo de dados) e, por vezes acidentais (tais como o "delete" significa).

Provavelmente o único dispositivo mais influente sobre a interpretação desses personagens foi o Teletype Modelo 33 ASR, que foi um terminal de impressão com um disponível opção de leitor / perfurador de fita de papel. Fita de papel era um meio muito popular para armazenamento de programas de longo prazo, até a década de 1980, menos onerosas e, em alguns aspectos menos frágeis do que a fita magnética. Em particular, os Teletype Modelo 33 atribuições de máquinas para os códigos 17 (Control-Q, DC1, também conhecido como XON), 19 (Control-S, DC3, também conhecido como XOFF), e 127 ( Apagar) tornou-se normas de facto. Porque o keytop para a tecla O também mostrou um símbolo de seta esquerda (a partir de ASCII-1963, que teve esse caráter em vez de sublinhado), um uso não conforme de código 15 (Control-O, mudança na) interpretado como "apagar o caractere anterior", também foi adotado por muitos sistemas de tempo compartilhado cedo, mas, eventualmente, tornou-se negligenciada.

O uso do controle-S (XOFF, uma abreviação de transmissão off) como um sinal de "aperto de mão", advertindo que um remetente para interromper a transmissão por causa da iminente estouro, e Control-Q (XON, "transmitir em") para retomar o envio, persiste a Neste dia, em muitos sistemas como uma técnica de controle de saída manual. Em alguns sistemas de controlo-S mantém o seu significado, mas Control-Q é substituído por um segundo controle-S para retomar a produção.

Código 127 é oficialmente chamado de "exclusão", mas o rótulo Teletype foi "rubout". Uma vez que o padrão original não deu interpretação detalhada para a maioria dos códigos de controle, interpretações deste código variada. O significado Teletype original, ea intenção da norma, foi para torná-lo um personagem ignorado, o mesmo que NUL (todos zeros). Este foi útil especificamente para fita de papel, porque socando o-ones todo padrão de bits no topo de uma marca existente seria obliterar-lo. Tapes projetado para ser "mão editada" poderia mesmo ser produzido com espaços de NULs extra (fita em branco) para que um bloco de caracteres poderia ser "apagado" e depois substituições colocado no espaço vazio.

Como terminais de vídeo começaram a substituir os imprimir, o valor do carácter "arrastamento" foi perdido. Sistemas de dezembro, por exemplo, interpretou "Delete" para significar "remover o caractere antes do cursor" e esta interpretação também se tornou comum em sistemas Unix. A maioria dos outros sistemas utilizados "Backspace" para que o significado e usado em "Delete" para significar "remover o caracter do cursor". Esta última interpretação é a mais comum agora.

Muitos mais dos códigos de controlo foram dadas significados muito diferentes dos seus originais. O caráter "escape" (ESC, código 27), por exemplo, foi originalmente destinado a permitir o envio de outros caracteres de controle como literais em vez de chamar o seu significado. Este é o mesmo significado de "escape" que encontrou em codificações de URL, Linguagem C cordas, e outros sistemas em que certos personagens têm um significado reservada. Ao longo do tempo este significado foi cooptado e, eventualmente, tenha sido alterado. Em utilização moderna, um ESC enviada para o terminal normalmente indica o início de uma sequência de comando, geralmente sob a forma de um assim chamado " ANSI código de escape "(ou, mais corretamente, um" controle de seqüência Introducer ") começando com ESC seguido por um" caráter ["(-colchete esquerdo). Um ESC enviado a partir do terminal é mais frequentemente usado como um out-of-band caráter usado para terminar uma operação, como no TECO e vi editores de texto. Em interface gráfica do usuário (GUI) e sistemas de janelas, ESC geralmente causa um pedido para abortar o seu funcionamento actual ou para exit (encerrar) completamente.

A ambiguidade inerente de muitos caracteres de controle, combinado com seu uso histórico, criou problemas ao transferir arquivos "texto simples" entre os sistemas. O melhor exemplo deste é a problema de nova linha em vários sistemas operacionais. Máquinas de teletipo necessário que uma linha de texto ser terminada com ambos "Carriage Return" (que se move a cabeça de impressão para o início da linha) e "Line Feed" (que avança a uma linha de papel sem mover a cabeça de impressão). O nome "Carriage Return" vem do fato de que em um manual de máquina de escrever o transporte segurando o papel movido enquanto a posição onde as chaves bateu na fita permaneceu estacionário. Todo o transporte tem de ser aumentada (devolvido) para a direita, a fim de posicionar a margem esquerda do papel para a próxima linha.

Sistemas operacionais dezembro ( OS / 8, RT-11, RSX-11, RSTS, TOPS-10, etc.) utilizados ambos os personagens para marcar o final de uma linha para que o dispositivo de console (inicialmente Máquinas de teletipo) iria funcionar. Até o momento chamado "vidro TTYs" (mais tarde chamados CRTs ou terminais) veio junto, a convenção foi tão bem estabelecido que a compatibilidade exigiu continuar a convenção. Quando Gary Kildall clonado RT-11 para criar CP / M, ele seguiu estabelecido Convenção DEC. Até à introdução PC-DOS, em 1981, a IBM não tinha mão no presente, porque seus sistemas utilizados 1970 EBCDIC ASCII em vez de operar e eles foram orientados para entrada de cartões perfurados e saída da impressora de linha em que o conceito de "retorno de carro" não tinha sentido. IBM PC-DOS (também comercializado como MS-DOS pela Microsoft) herdou a convenção em virtude de ser um clone de CP / M, e Windows herdou de MS-DOS.

Infelizmente, exigindo dois caracteres para marcar o fim de uma linha introduz complexidade e perguntas a respeito de como interpretar cada personagem quando encontrou sozinho desnecessário. Para simplificar fluxos de dados de texto simples, incluindo arquivos, em Multics alimentar utilizada linha (LF) sozinho como um terminador de linha. Unix e Sistemas Unix-like, e Sistemas Amiga, aprovada esta convenção a partir de Multics. O original Macintosh OS, A Apple DOS, e ProDOS, por outro lado, utilizado retorno (CR) sozinho como um terminal de linha; no entanto, desde que a Apple substituiu-o com o baseado em Unix OS X sistema operacional, eles agora usam alimentação de linha (LF) também.

Computadores ligados ao ARPANET incluiu máquinas que executam sistemas operacionais como o TOPS-10 e TENEX usando finais de linha CR-LF, máquinas que executam sistemas operacionais como o Multics usando finais de linha LF, e máquinas rodando sistemas operacionais como OS / 360 que representou linhas como um personagem contagem seguido pelos caracteres da linha e que costumavam EBCDIC e não ASCII. O Protocolo Telnet definida uma ASCII "Rede Virtual Terminal" (NVT), para que as conexões entre os hosts com diferentes convenções de delimitação de linhas e conjuntos de caracteres poderia ser apoiado através da transmissão de um formato de texto padrão através da rede; que costumava ASCII, juntamente com terminações de linha CR-LF, e software usando outras convenções se traduziria entre as convenções locais ea NVT. O File Transfer Protocol adoptado o protocolo Telnet, incluindo o uso do Terminal Virtual Network, para uso durante a transmissão de comandos e transferir dados no modo ASCII padrão. Isso aumenta a complexidade implementações desses protocolos, e outros protocolos de rede, tais como aqueles usados para Static Wikipedia - Euskera e da World Wide Web, em sistemas que não utilizam CR-LF de fim de linha convenção da NVT.

Os sistemas mais antigos operacionais como o TOPS-10, juntamente com o CP / M, rastreados comprimento arquivo somente em unidades de blocos de disco e usado Control-Z (SUB) para marcar o fim do texto real no arquivo. Por esta razão, EOF, ou fim-de-arquivo, foi usada coloquialmente e convencionalmente como uma sigla de três letras (TLA) for Control-Z, em vez de substituir. Por uma variedade de razões, o código de fim de texto, ETX aka Controle-C, foi inadequado e usando Z como o código de controle para acabar com um arquivo é análogo ao que acabar com o alfabeto, uma muito conveniente auxílio mnemônico. Um comum, e ainda prevalece histórico, convenção usa o ETX aka Control-C convenção código para interromper e parar um programa através de um fluxo de dados de entrada, geralmente a partir de um teclado.

Na Biblioteca C e Unix convenções, o caractere nulo é usado para terminar texto cordas; tal strings terminadas em nulos pode ser conhecido em sigla, como ASCIZ ou ASCIIZ, onde aqui Z significa "zero".

ASCII Gráfico de códigos de controle

Binário Outubro Dezembro Feitiço Abbr Nome
000 0000 000 0 00 NUL ^ @ \ 0 Caractere nulo
000 0001 001 1 01 SOH ^ A Início do cabeçalho
000 0010 002 2 02 STX ^ B Início do Texto
000 0011 003 3 03 ETX ^ C Fim de texto
000 0100 004 4 04 EOT ^ D Fim da Transmissão
000 0101 005 5 05 ENQ E ^ Inquérito
000 0110 006 6 06 ACK ^ F Reconhecimento
000 0111 007 7 07 BEL ^ G \ A Sino
000 1000 010 8 08 BS ^ H \ B Retrocesso
000 1001 011 9 09 HT ^ I \ T Tab Horizontal
000 1010 012 10 0A LF ^ J \ N Alimentação de linha
000 1011 013 11 0B VT ^ K \ V Tab Vertical
000 1100 014 12 0C FF ^ L \ F O avanço de página
000 1101 015 13 0D CR ^ M \ R Retorno de carro
000 1110 016 14 0E SO ^ N Deslocar Fora
000 1111 017 15 0F SI ^ O Mudança na
001 0000 020 16 10 DLE ^ P Data Link Fuga
001 0001 021 17 11 DC1 ^ Q Device Control 1 (oft. XON)
001 0010 022 18 12 DC2 ^ R Controle de dispositivo 2
001 0011 023 19 13 DC3 ^ S Controle de dispositivos 3 (oft. XOFF)
001 0100 024 20 14 DC4 ^ T Controle de dispositivo 4
001 0101 025 21 15 NAK ^ U Reconhecimento negativo
001 0110 026 22 16 SYN ^ V Ocioso Synchronous
001 0111 027 23 17 ETB ^ W Fim do bloco de transmissão
001 1000 030 24 18 CAN ^ X Cancelar
001 1001 031 25 19 EM ^ Y End of Médio
001 1010 032 26 1A SUB ^ Z Substituto
001 1011 033 27 1B ESC ^ [ \ E Fuga
001 1100 034 28 1C FS ^ \ Separador de arquivo
001 1101 035 29 1D GS ^] Grupo Separator
001 1110 036 30 1E RS ^^ Grave Separator
001 1111 037 31 1F EU ^ _ Unidade separadora
111 1111 177 127 7F DEL ^? Excluir
  1. O ^ Caracteres Unicode da área U + 2400 até U + 2421 reservados para representar caracteres de controlo quando é necessário imprimir ou exibi-los em vez de tê-los executar sua função pretendida. Alguns navegadores podem não exibir esses corretamente.
  2. ^ Notação Caret, muitas vezes usado para representar caracteres de controle em um terminal. Na maioria dos terminais de texto, mantendo pressionada a Tecla Ctrl enquanto estiver digitando o segundo personagem irá digitar o caractere de controle. Às vezes a tecla Shift não é necessário, por exemplo ^ @ pode ser typable com apenas Ctrl e 2.
  3. ^ Códigos caractere de escape em linguagem de programação C e muitas outras línguas influenciadas por ela, como Java e Perl (embora nem todas as implementações suporta necessariamente todos os códigos de escape).
  4. ^ O personagem Backspace também pode ser inserido pressionando a tecla Backspace ← em alguns sistemas.
  5. ^ A b A ambiguidade da Backspace é devido ao início terminais projetados assumindo que o principal uso do teclado seria dar um soco manualmente fita de papel enquanto não estiver conectado a um computador. Para eliminar o carácter anterior, era preciso fazer backup do soco fita de papel, que, por razões mecânicas e simplicidade era um botão no próprio soco e não o teclado, em seguida, digitar o caractere rubout. Eles, portanto, colocou um rubout produzindo chave no local usado em máquinas de escrever para backspace. Quando os sistemas utilizados nesses terminais e desde a edição de linha de comando, eles tiveram que usar o código "rubout" para executar um retrocesso, e muitas vezes não interpretou o personagem backspace (eles podem echo "^ H" para backspace). Outros terminais não concebidos para fita de papel feito a chave neste local produzir Backspace, e sistemas concebidos para estes usou esse personagem para fazer o backup. Desde que o código de exclusão muitas vezes produziu um efeito de retrocesso, este também forçou os fabricantes de terminais para fazer qualquer tecla Delete produzir algo que não seja o personagem Delete.
  6. ^ O personagem Tab também pode ser inserido pressionando a tecla Tab na maioria dos sistemas.
  7. ^ O personagem Retorno de carro também podem ser inseridos pressionando o Enter ou Return chave na maioria dos sistemas.
  8. ^ A seqüência de escape '\ e' não faz parte da ISO C e muitas outras especificações de idioma. No entanto, entende-se por vários compiladores.
  9. ^ O caractere de escape também pode ser inserido pressionando a tecla Esc em alguns sistemas.
  10. ^ ^^ Significa Ctrl + ^ (pressionando a tecla "Ctrl" e as teclas de cursor).
  11. ^ O personagem Excluir às vezes pode ser introduzido pressionando a tecla Backspace ← em alguns sistemas.

ASCII caracteres imprimíveis

Códigos 20 hex para 7E hexadecimal , conhecidos como os caracteres imprimíveis, representam letras, dígitos, sinais de pontuação e alguns símbolos diversos. Existem 95 caracteres imprimíveis no total.

Código 20 hex , o carácter de espaço, indica o espaço entre as palavras, tal como produzido pela barra de espaço do teclado. Uma vez que o carácter de espaço é considerado um gráfico invisível (em vez de um carácter de controlo) e, portanto, não seria normalmente visível, está aqui representada por Caracteres Unicode U + 2420 "␠"; Caracteres Unicode U + 2422 "␢" e U + 2423 "␣" também estão disponíveis para uso quando uma representação visível de um espaço é necessário.

Código 7F hex corresponde ao (DEL) caractere de controle não-imprimíveis "Delete" e, portanto, é omitida a partir deste gráfico; ele é coberto no quadro da secção anterior.

As versões anteriores do ASCII utilizados na seta para cima em vez do acento circunflexo (5E hex ) ea seta para a esquerda em vez da sublinhado (5F hex ).

Binário Outubro Dezembro Feitiço Glyph
010 0000 040 32 20
010 0001 041 33 21 !
010 0010 042 34 22 "
010 0011 043 35 23 #
010 0100 044 36 24 $
010 0101 045 37 25 %
010 0110 046 38 26 &
010 0111 047 39 27 '
010 1000 050 40 28 (
010 1001 051 41 29 )
010 1010 052 42 2A *
010 1011 053 43 2B +
010 1100 054 44 2C ,
010 1101 055 45 2D -
010 1110 056 46 2E .
010 1111 057 47 2F /
011 0000 060 48 30 0
011 0001 061 49 31 1
011 0010 062 50 32 2
011 0011 063 51 33 3
011 0100 064 52 34 4
011 0101 065 53 35 5
011 0110 066 54 36 6
011 0111 067 55 37 7
011 1000 070 56 38 8
011 1001 071 57 39 9
011 1010 072 58 3A :
011 1011 073 59 3B ;
011 1100 074 60 3C <
011 1101 075 61 3D =
011 1110 076 62 3E >
011 1111 077 63 3F ?
Binário Outubro Dezembro Feitiço Glyph
100 0000 100 64 40 @
100 0001 101 65 41 A
100 0010 102 66 42 B
100 0011 103 67 43 C
100 0100 104 68 44 D
100 0101 105 69 45 E
100 0110 106 70 46 F
100 0111 107 71 47 G
100 1000 110 72 48 H
100 1001 111 73 49 EU
100 1010 112 74 4A J
100 1011 113 75 4B K
100 1100 114 76 4C L
100 1101 115 77 4D M
100 1110 116 78 4E N
100 1111 117 79 4F O
101 0000 120 80 50 P
101 0001 121 81 51 Q
101 0010 122 82 52 R
101 0011 123 83 53 S
101 0100 124 84 54 T
101 0101 125 85 55 U
101 0110 126 86 56 V
101 0111 127 87 57 W
101 1000 130 88 58 X
101 1001 131 89 59 Y
101 1010 132 90 5A Z
101 1011 133 91 5B [
101 1100 134 92 5C \
101 1101 135 93 5D ]
101 1110 136 94 5E ^
101 1111 137 95 5F _
Binário Outubro Dezembro Feitiço Glyph
110 0000 140 96 60 `
110 0001 141 97 61 um
110 0010 142 98 62 b
110 0011 143 99 63 c
110 0100 144 100 64 d
110 0101 145 101 65 e
110 0110 146 102 66 f
110 0111 147 103 67 g
110 1000 150 104 68 h
110 1001 151 105 69 eu
110 1010 152 106 6A j
110 1011 153 107 6B k
110 1100 154 108 6C l
110 1101 155 109 6D m
110 1110 156 110 6E n
110 1111 157 111 6F o
111 0000 160 112 70 p
111 0001 161 113 71 q
111 0010 162 114 72 r
111 0011 163 115 73 s
111 0100 164 116 74 t
111 0101 165 117 75 u
111 0110 166 118 76 v
111 0111 167 119 77 w
111 1000 170 120 78 x
111 1001 171 121 79 y
111 1010 172 122 7A z
111 1011 173 123 7B {
111 1100 174 124 7C |
111 1101 175 125 7D }
111 1110 176 126 7E ~

Aliases

Um junho 1992 RFC eo Internet Assigned Numbers Authority registro de conjuntos de caracteres reconhecer os seguintes aliases de maiúsculas e minúsculas para ASCII como adequados para uso na Internet:

  • ANSI_X3.4-1968 (nome canônico)
  • iso-ir-6
  • ANSI_X3.4-1986
  • ISO_646.irv: 1991
  • ASCII (com ASCII-7 e ASCII-8 variantes)
  • ISO646-EUA
  • US-ASCII (preferido Nome MIME)
  • nós
  • IBM367
  • cp367
  • csASCII

Destes, o IANA incentiva o uso do nome "US-ASCII" para usos da Internet do ASCII. Um muitas vezes encontra isso no opcional "charset" parâmetro no cabeçalho Content-Type de algumas mensagens MIME, no elemento "meta" equivalente de alguns Documentos HTML, e na parte de declaração de codificação do prólogo de alguns Documentos XML.

Variantes

Como propagação tecnologia de computador em todo o mundo, diferente organismos de normalização e corporações desenvolveram muitas variações de ASCII para facilitar a expressão de idiomas diferentes do inglês que usavam alfabetos baseados em Roman. Poderíamos classe algumas destas variações como " Extensões ASCII ", embora alguns mau uso esse termo para representar todas as variantes, incluindo aqueles que não preservam-map caráter de ASCII na faixa de 7 bits.

O Código PETSCII Commodore Internacional utilizado para os seus sistemas de 8 bits é provavelmente único entre os códigos pós-1970, em que está sendo baseado em ASCII-1963, em vez do mais comum ASCII-1967, como encontrado no Computador ZX Spectrum. Atari e Computadores Galaksija também usado variantes ASCII.

7 bits

Desde o início de seu desenvolvimento, ASCII foi destinado a ser apenas uma das várias variantes nacionais de um padrão de código de caracteres internacionais, em última análise, publicada como ISO / IEC 646 (1972), que iria partilhar a maioria dos personagens em comum, mas atribuir outros personagens localmente úteis para vários pontos de código reservado para "utilização nacional". No entanto, os quatro anos que decorreram entre a publicação da ASCII-1963 e primeiro aceitação do ISO de uma recomendação internacional durante 1967 causou opções de ASCII para os personagens de uso nacionais parecem ser padrões de fato para o mundo, causando confusão e incompatibilidade uma vez outros países começou a fazer as suas próprias atribuições para esses pontos de código.

ISO / IEC 646, como ASCII, era um conjunto de caracteres de 7 bits. Ele não fez quaisquer códigos adicionais disponíveis, para que os mesmos pontos de código codificado personagens diferentes em diferentes países. Códigos de escape foram definidos para indicar qual variante nacional aplicado a uma parte do texto, mas eles raramente foram utilizados, de modo que muitas vezes era impossível saber o que variante de trabalhar e, portanto, que o caráter de um código representado, e em sistemas gerais de processamento de texto poderia lidar com uma única variante de qualquer maneira.

Porque os personagens suporte e cinta de ASCII foram atribuídos a "usar nacional" pontos de código que foram usados para letras acentuadas em outras variantes nacionais das normas ISO / IEC 646, um programador alemão, francês ou sueco, etc. usando sua variante nacional da ISO / IEC 646, em vez de ASCII, tinha que escrever, e, portanto, ler, algo como

ä aÄiÜ = 'ligado'; você

ao invés de

{ a[i]='\n'; }

Trigraphs C foram criados para resolver este problema para ANSI C, embora a sua introdução tardia ea implementação inconsistente em compiladores limitado a sua utilização.

8 bits

Eventualmente, como 8, 16, e Computadores de 32 bits começou a substituir 18- e 36-bit computadores como a norma, tornou-se comum o uso de um byte de 8 bits para armazenar cada caractere na memória, fornecendo uma oportunidade para estendidos, 8 bits, parentes de ASCII. Na maioria dos casos estes desenvolvido como verdadeiras extensões de ASCII, deixando o caráter de mapeamento original intacta, mas a adição de definições de caracteres adicionais após os primeiros 128 (ou seja, de 7 bits) caracteres.

A maioria dos sistemas de computador para casa mais cedo desenvolveram seus próprios conjuntos de caracteres de 8 bits contendo linha-desenho e jogos glifos, e muitas vezes preenchidos alguns ou todos os caracteres de controle 0-31 com mais gráficos. O IBM PC definida página de código 437, que substituiu o controle-caracteres com símbolos gráficos, tais como caras do smiley, e mapeados caracteres gráficos adicionais para as 128 posições superiores. Sistemas operacionais, tais como DOS apoiou estas páginas de código, e fabricantes de PCs da IBM apoiada-los em hardware. Digital Equipment Corporation desenvolveu o Multinacional Conjunto de Caracteres (DEC-MCS) para uso na popular VT220 terminal, esta foi uma das primeiras extensões projetados mais para línguas internacionais do que para os blocos de gráficos. O Macintosh definido Mac OS Roman e Postscript também definiu um conjunto, essas duas letras internacionais constantes e sinais de pontuação tipográficas em vez de gráficos, como conjuntos de caracteres mais modernos. O ISO / IEC 8859 padrão (derivado a partir do DEC-MCS) finalmente, proporciona-se um padrão que a maioria dos sistemas copiado (pelo menos mais exacta à medida que copiado ASCII, mas com muitas substituições). Uma nova prorrogação populares projetado pela Microsoft, Windows-1252 (muitas vezes erroneamente como ISO-8859-1), acrescentou as marcas de pontuação tipográficos necessários para impressão de texto atraente.

ISO-8859-1, o Windows-1252, eo ASCII 7-bit original eram as codificações de caracteres mais comuns até o final da década de 2000, hoje em dia UTF-8 está se tornando mais comum.

Unicode

Unicode ea ISO / IEC 10646 Conjunto de caracteres Universal (UCS) tem uma matriz muito maior de personagens, e suas diversas formas de codificação começaram a suplantar ISO / IEC 8859 e ASCII rapidamente em muitos ambientes. Enquanto ASCII é limitado a 128 caracteres, Unicode e UCS suportar mais caráteres, separando os conceitos de identificação único (usando números naturais chamados pontos de código) e codificação (para 8, formatos de 16 ou 32 bits binários, chamado UTF-8, UTF-16 e UTF-32).

Para permitir a compatibilidade com versões anteriores, o ASCII 128 e 256 ISO-8859-1 (Latin 1) caracteres são atribuídos pontos de código Unicode / UCS, que são os mesmos que os seus códigos nos padrões anteriores. Portanto, ASCII pode ser considerado um esquema de codificação de 7 bits para um pequeno subconjunto de Unicode / UCS, e ASCII (quando prefixado com 0 como o oitavo bit) é válido UTF-8.

Ordem

Ordem ASCII-código também é chamado de ordem ASCIIbetical. Agrupamento de dados é feito às vezes, por esta ordem, em vez de por ordem alfabética "standard" ( seqüência de intercalação). Os principais desvios na ordem ASCII são:

  • Todas as letras maiúsculas vêm antes das minúsculas, por exemplo, "Z" antes "a"
  • Dígitos e muitos sinais de pontuação vir antes de letras, por exemplo, "4" precede "um"
  • Os números são classificados como seqüências ingenuamente, por exemplo, "10" precede "2"

Uma ordem intermediário - prontamente implementadas - converte letras maiúsculas para minúsculas antes de comparar valores ASCII. Número Naïve classificação pode ser evitada por zero preenchendo todos os números (por exemplo, "02" irá classificar antes "10" como esperado), embora esta seja uma correção externa e não tem nada a ver com a própria ordenação.

Retirado de " http://en.wikipedia.org/w/index.php?title=ASCII&oldid=542989240 "