Quebra de linha (LF)
- Entrada
- LF
- Saída esperada
- DEC 10 · HEX 0A · escape \n
É a quebra usada por Linux e macOS; o Windows grava CR antes de LF, então um mesmo texto pode acabar com dois formatos diferentes de fim de linha.
caracteres de controle ascii
Os primeiros 32 códigos ASCII, de 0 a 31, mais o código 127, não representam letra nem símbolo visível: nasceram nos anos 1960 para comandar impressoras, terminais e a própria transmissão de dados, e um punhado deles continua vivo em todo arquivo de texto e em todo terminal até hoje.
É a quebra usada por Linux e macOS; o Windows grava CR antes de LF, então um mesmo texto pode acabar com dois formatos diferentes de fim de linha.
Herdou o nome da tabulação mecânica: posicionava o carro da impressora numa coluna fixa antes de existir espaçamento configurável em software.
Sozinho é só um código; combinado com colchete e números, como no exemplo do vermelho de terminal, ele vira o começo de um comando ANSI.
Não. ASCII cobre apenas 128 códigos. Unicode cobre praticamente todos os sistemas de escrita modernos. Os primeiros 128 pontos de código do Unicode preservam compatibilidade com ASCII, o que faz todo texto ASCII ser também texto UTF-8 válido.
Não: LF (10) move o cursor para a linha de baixo, CR (13) volta o cursor para o início da mesma linha. Linux e macOS usam só LF para quebra de linha; o Windows usa os dois juntos, CR seguido de LF, por isso um arquivo de texto pode mudar de aparência ao trocar de sistema operacional.
Porque o Windows grava CR (13) antes de cada LF (10), e ferramentas Unix que só esperam LF exibem o CR sobrando como ^M no fim da linha; editores e o Git resolvem isso normalizando ou convertendo automaticamente entre CRLF e LF.
É a base das sequências de escape ANSI que terminais usam para cor, negrito e posicionamento de cursor: o código 27 sozinho abre a sequência, e o que vem depois, como colchete e números, diz ao terminal qual comando executar.
Porque strings em C, e boa parte dos protocolos binários, usam o código 0 para marcar onde o texto termina; é por isso que 'injeção de NUL byte' é uma classe conhecida de bug de segurança, quando um atacante consegue truncar uma string mais cedo do que o programa esperava.
Tudo roda no seu navegador: nenhuma busca, texto ou sequência de códigos sai do dispositivo.