Pular para o conteúdo

Inversor de Texto: Inverta Texto e Vire Caracteres Instantaneamente

Ferramenta online gratuita de inversão de texto para reverter qualquer sequência instantaneamente. Vire caracteres, verifique palíndromos e crie texto ao contrário. Funciona com Unicode, emojis e todos os idiomas.

Ferramenta de Inversão de Texto

Digite ou cole qualquer texto abaixo para inverter instantaneamente a ordem dos caracteres. Veja os resultados em tempo real enquanto digita.

Calculadora de carregamento...
📚

Documentação

O que é um inversor de texto?

Um inversor de texto é uma ferramenta que inverte a ordem dos caracteres em um trecho de texto. Digitar "hello" produz "olleh". Ela funciona escrevendo cada caractere da entrada de trás para a frente, do último ao primeiro. As pessoas a utilizam para criar texto invertido, verificar se uma palavra é um palíndromo ou estudar como funciona a inversão de strings na programação.

Como usar o inversor de texto

  1. Digite ou cole o texto na caixa de entrada.
  2. O texto invertido aparece abaixo assim que a digitação termina. Não é necessário pressionar nenhum botão.
  3. Pressione o botão de copiar para copiar o resultado.

O botão de redefinir limpa tanto a entrada quanto o resultado. A ferramenta aceita até 10.000 caracteres; uma entrada maior exibe uma mensagem de erro solicitando que o texto seja encurtado. A contagem considera os caracteres visíveis, portanto um emoji conta como um caractere, embora o computador o armazene como várias partes.

Fórmula de inversão de texto

Para uma string de comprimento n formada pelos caracteres c1c2…cnc_1 c_2 \dots c_n, a string invertida é:

S′=cncn−1…c2c1S' = c_n c_{n-1} \dots c_2 c_1

Em termos simples: o último caractere se torna o primeiro, o penúltimo se torna o segundo, e assim por diante, até que o primeiro caractere se torne o último.

Como o algoritmo funciona, passo a passo

  1. Comece com um resultado vazio.
  2. Pegue o último caractere da entrada e adicione-o ao resultado.
  3. Pegue o penúltimo caractere e adicione-o.
  4. Repita até que todos os caracteres tenham sido adicionados, na ordem inversa.

A maioria das ferramentas de inversão trabalha com caracteres individuais do computador. Esta ferramenta, em vez disso, agrupa cada emoji, bandeira e letra acentuada em uma única unidade antes de inverter, usando um método chamado segmentação em clusters de grafemas. A seção abaixo explica por que isso é importante.

Exemplo prático

Entrada: Hello, World!

Invertido: !dlroW ,olleH

Cada caractere, incluindo a vírgula, o espaço e o ponto de exclamação, mantém sua identidade. Apenas a ordem muda.

Tratamento de emojis, acentos e outros caracteres Unicode

Os computadores costumam armazenar um único caractere visível, como um emoji ou uma letra com acento, como mais de uma pequena unidade chamada ponto de código. Um método de inversão que vira essas unidades uma por uma, sem considerar quais pertencem juntas, pode separar um caractere.

Por exemplo, "Hello 👍" contém um emoji de polegar para cima formado por um par de unidades ocultas. Uma inversão básica por unidade pode separar esse par e produzir símbolos corrompidos em vez do emoji. Esta ferramenta evita esse problema tratando cada emoji, bandeira e letra acentuada como uma unidade, de modo que "Hello 👍" se torna corretamente "👍 olleH". Um emoji de bandeira, formado por dois símbolos ocultos que representam o código de um país, também permanece intacto: "🇺🇸 USA" é invertido para "ASU 🇺🇸", em vez de a bandeira ser separada.

Usos comuns

  • Verificação de palíndromos: um palíndromo é lido da mesma forma para a frente e para trás, como "racecar". Comparar uma palavra com sua inversão é uma maneira de verificar isso.
  • Aprendizado de programação: inverter uma string é um exercício comum para praticar laços, arrays e pilhas.
  • Jogos de palavras e quebra-cabeças: palavras invertidas são usadas para ocultar mensagens em quebra-cabeças e salas de fuga.
  • Efeitos de design: alguns designers invertem textos para criar logotipos espelhados ou efeitos visuais.
  • Depuração: comparar o texto normal com o invertido pode ajudar a identificar certos erros de dados.

Inversão de caracteres versus inversão de palavras

Essas duas operações costumam ser confundidas.

  • Inversão de caracteres (o que esta ferramenta faz): cada caractere é invertido. "Hello World" se torna "dlroW olleH".
  • Inversão de palavras: cada palavra permanece intacta, mas a ordem das palavras muda. "Hello World" se torna "World Hello".

Uma breve história

A escrita invertida e espelhada existe há milhares de anos, antes dos computadores. Algumas inscrições gregas antigas usavam um estilo chamado boustrophedon, no qual as linhas alternavam de direção, da esquerda para a direita e depois da direita para a esquerda, de modo semelhante ao arado de um boi em um campo. Leonardo da Vinci escreveu grande parte de seus cadernos em escrita espelhada, legível apenas quando colocada diante de um espelho; os historiadores ainda discutem se ele fazia isso por sigilo, para escrever com mais conforto por ser canhoto ou para evitar que a tinta borrasse.

Na computação, inverter uma string é um exercício padrão de programação desde os primórdios da ciência da computação. Ele é frequentemente usado para ensinar como pilhas e arrays funcionam, pois empilhar caracteres e depois desempilhá-los inverte automaticamente sua ordem.

Como inverter texto em código

A maioria das linguagens de programação inclui uma forma integrada ou simples de inverter uma string:

1text = "Hello, World!"
2print(text[::-1])  # !dlroW ,olleH
3

Ambos os exemplos invertem o texto corretamente para letras e números comuns e para emojis de uma única unidade, como 🌍. Ainda assim, eles podem separar um caractere formado por várias unidades ocultas, como alguns emojis de bandeira, letras acentuadas digitadas com um acento separado ou emojis de família unidos por caracteres especiais de conexão. A inversão completa do texto com segurança para grafemas, método usado por esta ferramenta, precisa de uma função dedicada, como Intl.Segmenter do JavaScript.

Desempenho

A inversão de texto leva tempo linear: o algoritmo examina cada caractere exatamente uma vez, portanto dobrar a entrada aproximadamente dobra o trabalho. Para textos comuns, de uma única palavra a várias páginas, o resultado aparece praticamente instantaneamente. Arquivos muito grandes, na faixa de megabytes ou maiores, são mais bem processados por programas especializados que processam os dados em fluxo, em vez de carregá-los todos na memória de uma só vez.

Perguntas frequentes

Como inverter texto online?

Cole ou digite o texto na caixa acima. O texto invertido aparece automaticamente assim que a digitação termina. Use o botão de copiar para copiar o resultado.

Existe um limite máximo de comprimento do texto?

Sim. A ferramenta aceita até 10.000 caracteres. Uma entrada maior produz uma mensagem de erro em vez de um resultado. Os caracteres são contados como aparecem na tela, portanto um emoji ou uma letra acentuada conta como um, não dois.

A ferramenta inverte palavras ou apenas caracteres?

Ela inverte caracteres individuais, não a ordem das palavras. "Hello World" se torna "dlroW olleH", não "World Hello".

Ela lida com emojis e textos em outros idiomas?

Sim. A ferramenta trata emojis, bandeiras e letras acentuadas como unidades únicas, para que permaneçam intactos após a inversão. Ela também funciona com qualquer sistema de escrita, incluindo textos em chinês, árabe e cirílico.

Se eu inverter o texto duas vezes, obtenho o original de volta?

Sim. Inverter uma string invertida restaura o texto original. Essa propriedade é chamada de involução.

O texto invertido é útil para criptografia?

Não. Inverter caracteres não é seguro. Isso apenas oculta o texto visualmente, e qualquer pessoa que o inverta novamente poderá lê-lo.

Referências

  1. Consórcio Unicode. Anexo do Padrão Unicode #29: Segmentação de texto Unicode.
  2. Cormen, T. H., Leiserson, C. E., Rivest, R. L. e Stein, C. (2009). Introduction to Algorithms (3.ª ed.). MIT Press.
  3. MDN Web Docs. Intl.Segmenter. Rede de Desenvolvedores da Mozilla.