Como decodificar Base64 para CSV
- Cole o Base64 em Entrada · Base64. Um exemplo curto é carregado quando a página abre.
- Confira as linhas em Saída · texto. Se o delimitador, as aspas ou os acentos parecerem errados, você descobre antes de abrir o arquivo em qualquer outro lugar.
- Se aparecerem caracteres
�, ajuste o Charset para a codificação da exportação, muitas vezes Windows-1252 em arquivos de softwares antigos do Windows. - Clique em Baixar. Quando os dados decodificados parecem linhas separadas por vírgula, a linha de status indica CSV e o arquivo é salvo como
decoded.csv. Arquivos curtos e arquivos separados por ponto e vírgula ou tab aparecem como Text e são salvos comodecoded.txt; renomeie esses para.csv.
O download grava os bytes decodificados sem alteração, qualquer que seja o charset escolhido para a prévia.
Exemplo
O exemplo aWQsbmFtZSxlbWFpbAoxLEFkYSxhZGFAZXhhbXBsZS5jb20KMixMaW51cyxsaW51c0BleGFtcGxlLmNvbQo= decodifica para:
id,name,email
1,Ada,ada@example.com
2,Linus,linus@example.com
Repare no início: aWQs é id,. Exportações CSV não têm um prefixo comum como os formatos de arquivo, mas alguns padrões ajudam:
| O Base64 começa com | Significado |
|---|---|
77u/ | Byte order mark UTF-8, típico da exportação “CSV UTF-8” do Excel |
//4 | Byte order mark UTF-16LE, típico de exportações “Texto Unicode” (separadas por tab) |
UEsDB | Contêiner ZIP: uma pasta de trabalho XLSX, não CSV |
H4sI | Dados compactados com gzip; decodifique com o decodificador de Base64 gzip |
De onde vêm os arquivos CSV em Base64
APIs de relatórios e de analytics costumam devolver uma exportação como campo Base64 dentro de uma resposta JSON, porque o JSON não comporta bytes brutos de arquivo. Webhooks e filas de mensagens fazem o mesmo com anexos, e e-mails automáticos levam anexos CSV como partes MIME em Base64; o decodificador de e-mail extrai esses anexos de uma mensagem bruta. APIs de hospedagem Git devolvem o conteúdo dos arquivos como Base64 com quebras de linha, que este decodificador ignora.
Se a resposta JSON tiver vários campos codificados, decodificar Base64 dentro de JSON encontra todos de uma vez.
Abrindo o arquivo decodificado no Excel
O CSV não tem cabeçalho que declare o charset, então os programas de planilha tentam adivinhar:
- Com BOM UTF-8 (Base64 começando com
77u/), o Excel lê acentos e alfabetos não latinos corretamente quando você clica duas vezes no arquivo.77u/aWQ7bmFtZTtjaXR5CjE7Wm/DqztLw7Zsbgo=é um arquivo assim, comZoëeKölnintactos. - Sem BOM, o Excel no Windows usa a página de código legada do sistema, e o texto UTF-8 vira
Zoë. Em vez de clicar duas vezes, use Dados > De Texto/CSV e escolha UTF-8. - Ponto e vírgula no lugar da vírgula é normal em países onde a vírgula é o separador decimal. O Excel só abre esses arquivos direito quando o separador de listas do sistema é o ponto e vírgula; caso contrário, use a janela de importação e defina o delimitador.
Base64 para CSV no código
import base64, csv, io
s = "aWQsbmFtZSxlbWFpbAoxLEFkYSxhZGFAZXhhbXBsZS5jb20KMixMaW51cyxsaW51c0BleGFtcGxlLmNvbQo="
raw = base64.b64decode(s)
with open("export.csv", "wb") as f:
f.write(raw)
rows = list(csv.reader(io.StringIO(raw.decode("utf-8-sig"))))
rows[1] # ['1', 'Ada', 'ada@example.com']
O utf-8-sig remove o BOM se houver um e não atrapalha se não houver. Na linha de comando, base64 -d export.b64 > export.csv faz o mesmo que o botão Baixar. Veja Base64 em Python para processar arquivos grandes em streaming.
Perguntas frequentes
Como converter Base64 em arquivo CSV?
Cole o Base64 acima e clique em Baixar. Se a ferramenta reconhecer as linhas como CSV, o arquivo é salvo como decoded.csv; caso contrário, como decoded.txt, que você pode renomear para .csv sem alterar o conteúdo.
Por que os acentos aparecem errados quando abro o CSV no Excel?
O Excel no Windows assume uma página de código legada para arquivos CSV sem byte order mark. Importe o arquivo por Dados > De Texto/CSV e escolha UTF-8 (65001), ou peça ao remetente um “CSV UTF-8”, que começa com BOM.
Meu Base64 começa com UEsDB. Isso é um CSV?
Não, é um contêiner ZIP, ou seja, uma pasta de trabalho XLSX ou uma exportação zipada. Use Base64 para Excel para planilhas ou Base64 para ZIP para arquivos compactados.
Existe limite de tamanho?
Não há limite fixo. A decodificação roda no seu navegador, então exportações muito grandes esbarram na memória do seu dispositivo; para arquivos de vários gigabytes, um base64 -d na linha de comando é mais prático.