Escreva "Hello World! How are you today?" no Reversor de Texto e você obtém três respostas diferentes conforme o modo: o modo de caracteres devolve a linha de 31 caracteres como "?yadot uoy era woH !dlroW olleH", o modo de palavras mantém as seis palavras intactas e as reordena como "today? you are How World! Hello", e o modo de linhas inverte a ordem das linhas enquanto cada linha se mantém intacta. As três saídas são calculadas no seu navegador, na página, sem requisição a um servidor.
O modo de caracteres inverte pontos de código, não bytes
O modo de caracteres lê a string do último ponto de código ao primeiro e a reescreve, então as letras dentro de cada palavra também se movem. "Hello World! How are you today?" volta como "?yadot uoy era woH !dlroW olleH", o ponto de interrogação agora primeiro e o H maiúsculo de Hello no fim. Como o corte acontece em pontos de código e não em bytes, um emoji sobrevive como uma unidade: "ab🚀cd" devolve "dc🚀ba" com o foguete inteiro entre os dois pares de letras. O Contador e Analisador de Caracteres informa essa mesma entrada como 6 caracteres, porque a contagem segue as unidades internas de 16 bits onde o foguete ocupa dois, enquanto os símbolos visíveis somam cinco.
O modo de palavras reordena e normaliza os espaços
O modo de palavras é o que preserva as palavras. Ele corta a entrada em corridas de espaços, descarta os pedaços vazios, inverte a lista de palavras e junta de novo com um espaço, por isso a linha de seis palavras devolve "today? you are How World! Hello". Essa junção também limpa os espaços no caminho: "hello" seguido de três espaços e "world" volta como "world hello", um espaço, sem folga no início ou no fim. Se um bloco vive sobre espaçamento irregular, o Limpa Espaços em Branco aplica a mesma regra de colapso para um espaço a todo o documento de uma vez, enquanto o modo de palavras aqui só normaliza enquanto reordena.
O modo de linhas inverte a ordem das linhas
O modo de linhas mantém o conteúdo de cada linha e só muda a ordem: um bloco cujas linhas dizem "apple", "banana" e "cherry" volta como "cherry", "banana", "apple", e um bloco de linhas de log vira o mais novo primeiro sem tocar um único caractere dentro. Esse uso de comparação é onde a Similaridade de Strings ganha o seu lugar: passe o bloco original e o seu gêmeo invertido por linhas e ela pontua o quão próximas as duas leituras estão, a forma numérica do teste de palíndromos, o mesmo truque de inverter uma linha e perguntar se a resposta é igual à pergunta.
Inverter duas vezes devolve o original
O modo de caracteres é o seu próprio desfazer. Passe "?yadot uoy era woH !dlroW olleH" de novo pela ferramenta e recupere "Hello World! How are you today?", os 31 caracteres exatos na ordem exata, porque inverter uma lista duas vezes é a identidade. O modo de palavras também faz a ida e a volta, mas só até a normalização que a primeira passada já fez: um espaço triplo colapsado para um na saída se mantém um na volta. Essa propriedade de pares, transformar e depois desfazer a transformação, é por que os codificadores se sentem iguais: o Codificador/Decodificador de URL também trabalha em pares, codificar e depois decodificar, e a saída decodificada deve ser igual à entrada ou o par está quebrado.
Onde a inversão se situa num fluxo de texto
A inversão é a codificação mais barata que você pode montar, uma permutação pura que não gasta bits, e encaixa nos mesmos fluxos dos codificadores que os gastam. O guia de texto para binário cobre a direção irmã, que mapeia cada caractere para o seu código de 8 bits para que "Hi" se leia 01001000 01101001, e a mesma lógica de ida e volta se aplica: decodifique o código e você deve voltar a cair sobre a string que o produziu. A inversão é o membro de custo zero dessa família, o em que a inversa é a operação em si, que é exatamente por que um programador a usa primeiro ao testar se um fluxo preserva o conteúdo.
Da inversão para a análise
O ponto de inverter raramente é o texto invertido; é o que a comparação revela. Palíndromos, verificações de ordem e o hábito de ler um bloco ao contrário para ver o que os olhos pulam são trabalho de comparação, e o guia de contagem de palavras e caracteres é de onde saem os números do outro lado dessa comparação, a contagem de palavras, o desdobramento de caracteres e os dez caracteres mais frequentes do bloco tal como está escrito. Reordenar não muda nenhum, o que o Contador de Frequência de Palavras torna visível de um relance: a linha invertida e a original ambas se limpam para as mesmas seis palavras, hello, world, how, are, you, today, uma ocorrência cada uma, porque reordenar não muda nenhuma palavra nem nenhuma contagem.