ragfica.pages.dev

Como converter encoding de arquivo txt para UTF-8 usando script?

Se você já se deparou com arquivos de texto em encoding desconhecido ou incorreto, sabe o quão frustrante pode ser lidar com caracteres corrompidos. Este método oferece uma solução rápida e confiável, utilizando um script Python para detectar e converter automaticamente o encoding para UTF-8, garantindo a integridade dos dados.

Pré-requisitos

Passo 1: Criar o script de conversão

Primeiro, crie um arquivo Python chamado convert_encoding.py. Este script usará a biblioteca chardet para detectar o encoding atual do arquivo e convertê-lo para UTF-8.

import chardet
import os

def detect_encoding(file_path):
    with open(file_path, 'rb') as f:
        raw_data = f.read()
        result = chardet.detect(raw_data)
        encoding = result['encoding']
        confidence = result['confidence']
        return encoding, confidence

def convert_to_utf8(input_file, output_file):
    encoding, confidence = detect_encoding(input_file)
    print(f"Detected encoding: {encoding} (confidence: {confidence:.2f})")

    with open(input_file, 'r', encoding=encoding) as f:
        content = f.read()

    with open(output_file, 'w', encoding='utf-8') as f:
        f.write(content)

    print(f"File converted to UTF-8 and saved as {output_file}")

if __name__ == "__main__":
    input_file = 'arquivo_original.txt'
    output_file = 'arquivo_convertido.txt'
    convert_to_utf8(input_file, output_file)

Passo 2: Instalar dependências

Para que o script funcione corretamente, é necessário instalar a biblioteca chardet. Execute o seguinte comando no terminal:

pip install chardet

Passo 3: Executar o script

Com o script criado e as dependências instaladas, execute o comando abaixo para converter o arquivo:

python convert_encoding.py

O script detectará automaticamente o encoding do arquivo arquivo_original.txt e criará uma nova versão em UTF-8 chamada arquivo_convertido.txt.

Exemplo Prático

Arquivo Original (Encoding: ISO-8859-1) Arquivo Convertido (UTF-8)
Olá, mundo! Café brasileiro. Olá, mundo! Café brasileiro.

Conclusão

Com este script, você automatiza a conversão de encoding em segundos, eliminando caracteres corrompidos e garantindo que seus arquivos de texto sejam compatíveis com qualquer sistema ou aplicação que exija UTF-8.