Salvou txt no Linux e no Windows as linhas estão grudadas? Ah…

por Marcos Elias

Uma coisa que falta no Bloco de notas do Windows (sistema operacional mais usado nos desktops, sendo que o Bloco de notas é associado a arquivos txt por padrão) é a falta de suporte a quebras de linha Unix.

Se você salva um arquivo de texto puro no Linux e abre no Windows, já deve ter percebido que os parágrafos aparecem todos grudados (ou com quadradinhos nos lugares das quebras de linha). Isso sem falar os problemas de codificação, que foram melhorados a partir do Vista, com suporte a Unicode (tá vendo, o Vista também trouxe coisas boas, apesar da má fama que teve :P).

Por que isso acontece? É simples. Ao mudar de linha, é necessário guardar no arquivo de texto uma instrução de que a linha acabou, e é para trocar, exibindo o que vem a seguir numa linha abaixo. Essa divisão é feita por um caractere invisivel, que não é exibido pelos editores mas é interpretado, e é inserido quando você tecla ENTER.

No Windows são usados dois caracteres: Carriage Return e Linefeed (abreviando, CR/LF). O Linux (e quase todos os sistemas Unix) usam apenas um, o Linefeed (LF).

Quando você abre no Linux um arquivo de texto puro criado no Windows, ele enxerga as instruções CR/LF, e aproveita o LF, interpretando de fato as quebras de linha. Agora ao criar um arquivo no Linux e abri-lo no Windows, as linhas são quebradas com o LF, mas como o Windows espera encontrar CR + LF, ele não exibe a quebra, ignorando o LF.

Isso é terrível. Editores mais sofisticados (quase sempre com suporte a Unicode, apesar disso não importar no caso da quebra de linha) detectam automaticamente a quebra de linha usada, de forma transparente para os usuários finais.

Se você é programador, vale a pena consultar essa dica, abordando o uso de quebra de linha em várias linguagens:

http://mc-computing.com/languages/CR_LF.htm

Estou incluindo uma função para isso num outro editor de textos que estou criando (e que provavelmente vai substituir o Mep Texto). Um menu permitirá trocar todas as quebras de linha para CRLF (melhor no Windows) ou LF (comum no Linux). Ao abrir um arquivo no Windows com as linhas grudadas, bastará um clique no CRLF e pronto.

O nome temporário do editor é “Mep LA“, ainda tem vários bugs e poucos dias de vida, mas logo terá mais recursos e estabilidade – sendo útil para quem trabalha com web e quer um editor rápido cheio de recursos, mas não tão sofisticado como o Notepad ++.

Quem sabe a MS inclua um bloco de notas melhor no Windows 8, porque até o do Windows 7 não lida com essas quebras de linha de caractere único do Unix. A interoperabilidade prometida que ela tanto fala só serve mesmo para aparecer na mídia e deixar a Novell feliz. O Windows ainda poderia incluir suporte a leitura e escrita em partições ext2/3/ReiserFS, coisa simples de implementar por serem livres, sendo que há até programas/drivers de terceiros para tal… Aí sim o termo “interoperabilidade” mereceria respeito.

comments powered by Disqus

Comentários arquivados

  1. escreveu

    eu adorei esse saite porque todas as pessoas que acessarem vai ter a oportunidade de aprender varias coisas da internete, principalmente essas coisa do teclado que a gente pode aprender essas coisas de aprender a bolir no teclado sem pegar no mouse.

  2. Neuza escreveu

    Depois de décadas tendo uma equipe de informática no trabalho para resolver meus “pepinos”, consegui, como tantos outros ainda, a garantia de um trabalho mais do que satisfatório e o mérito profissional reconhecido por vários anos. Depois da aposentadoria me sinto ignorante diante do computador. É aqui, neste site, que estou aprendendo a digitar com segurança e independência. Aqui descobri que nada sei de informática. É “pipocando” nas consultas por horas e descobrindo a informática atual e suas novidades que me deslumbro. Comecei na pesquisa: “o que é widescreen?” na hora de comprar um monitor, aí vem a explicação na imcompatibilidade com alguns computadores. A cada informação surge outra dúvida… e mais outra… Mas… conseguirei com a ajuda de vocês. Obrigada pelas informações!