
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 ?


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 |
- 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.
- ^ 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.
- ^ 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).
- ^ O personagem Backspace também pode ser inserido pressionando a tecla Backspace ← em alguns sistemas.
- ^ 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.
- ^ O personagem Tab também pode ser inserido pressionando a tecla Tab ↹ na maioria dos sistemas.
- ^ O personagem Retorno de carro também podem ser inseridos pressionando o ↵ Enter ou Return chave na maioria dos sistemas.
- ^ 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.
- ^ O caractere de escape também pode ser inserido pressionando a tecla Esc em alguns sistemas.
- ^ ^^ Significa Ctrl + ^ (pressionando a tecla "Ctrl" e as teclas de cursor).
- ^ 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 ).
|
|
|
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.