Formatação Base64

Base de Entrada desordenada64
0 caracteres

Formate Base64 online grátis com largura personalizável (64/76/80/100) e indentação (0/2/4 espaços). Ajusta apenas a exibição, sem alterar a codificação original.

Sugestões Relacionadas

O que é formatação Base64?

A formatação Base64 consiste em dividir visualmente uma string Base64 longa em várias linhas com largura de caracteres definida (como 64/76/80/100), com opção de indentação de 0/2/4 espaços. O resultado é mais legível, adequado para captura de tela, impressão e layout em documentos, mas **não altera o conteúdo bruto original** — basta remover todas as quebras de linha e indentação para restaurar a string Base64 original em uma única linha.

**Por que formatar?** O padrão RFC 4648 não impõe quebras de linha no Base64, mas na prática: ① strings Base64 longas em sistemas de tickets, chats e documentos Markdown causam rolagem horizontal; ② o protocolo MIME (RFC 2045) define quebra a cada 76 caracteres (para anexos de e-mail); ③ a exibição em múltiplas linhas facilita a localização de caracteres anômalos em revisão de código; ④ o layout para captura de tela em documentos precisa de alinhamento visual.

**Cenários comuns de uso:** ① layout em documentação técnica: incorporar Base64 longo em Markdown / Confluence / Notion; ② comparação por captura de tela: facilitar a visualização da string Base64 completa em PRs e relatórios de bug; ③ revisão manual: localizar rapidamente caracteres ilegítimos em Code Review (como quebras de linha ou espaços misturados); ④ anexos de e-mail: quebrar a cada 76 caracteres conforme o padrão MIME para transporte SMTP; ⑤ exibição de logs em telas grandes: mostrar em várias linhas em painéis de monitoramento.

**Diferença para MIME Base64:** O MIME Base64 (RFC 2045) define quebra fixa a cada 76 caracteres, sendo uma exigência de protocolo. A formatação desta ferramenta é mais flexível, suportando larguras de 64/76/80/100 caracteres com indentação de 0/2/4 espaços, ideal para diversos cenários de documentação. A quebra MIME pode ser reproduzida selecionando a largura de 76 caracteres.

**Segurança da formatação:** A ferramenta apenas insere quebras de linha e indentação na exibição, **sem alterar o conteúdo bruto do Base64**. Ao remover todos os espaços em branco, o resultado formatado volta a ser exatamente a mesma string Base64 original. Como a maioria dos decodificadores ignora espaços em branco, o resultado formatado pode ser decodificado diretamente.

Casos de uso

  • Dividir strings Base64 muito longas por largura personalizada para facilitar a leitura e captura de tela
  • Formatar Base64 para documentação técnica, registros de tickets ou exibição em e-mails
  • Otimização de layout Base64 para impressão ou arquivamento
  • Ajustar a estrutura do Base64 em conjunto com ferramentas de divisão e mesclagem
  • Quebrar Base64 no padrão MIME (76 caracteres) para anexos de e-mail
  • Exibir Base64 em várias linhas durante revisão de código para localizar caracteres anômalos
  • Incorporar Base64 em Markdown com indentação de 4 espaços para manter o estilo de código
  • Exibição de logs em telas grandes: mostrar payloads Base64 longos em várias linhas em painéis de monitoramento

Como Usar

  1. Cole a string Base64 que deseja formatar (pode conter ou não quebras de linha)
  2. Escolha a largura de caracteres por linha: 64 / 76 / 80 / 100
  3. Escolha a indentação: 0 / 2 / 4 espaços
  4. A ferramenta formata e exibe em tempo real conforme a largura e indentação escolhidas
  5. Copie o resultado formatado para uso em documentos, ou clique em restaurar para remover as quebras

Recursos

  • Largura de caracteres personalizável: suporta 64 / 76 / 80 / 100 caracteres por linha, adaptando-se a diferentes necessidades de layout
  • Indentação configurável: suporta indentação de 0 / 2 / 4 espaços, facilitando o alinhamento em blocos de código ou Markdown
  • Otimização apenas visual: ajusta apenas a exibição, sem alterar os dados de codificação Base64 originais
  • Formatação em tempo real: debounce de 200ms, formata conforme você digita, sem atrasos
  • Restauração com um clique: remove todas as quebras de linha e indentação, retornando ao Base64 em uma única linha
  • Estatísticas de caracteres e linhas: exibe em tempo real o número de caracteres de entrada e o total de linhas de saída
  • Copiar com um clique: o resultado formatado pode ser copiado diretamente para a área de transferência, para uso em documentos ou tickets
  • Processamento 100% local no navegador: toda a formatação é feita no navegador, sem envio a nenhum servidor

Exemplos de Código

JavaScript: Implementação manual da formatação Base64 (entendendo o princípio)

javascript

Entenda a lógica da formatação Base64 — dividir pela largura de caracteres e inserir quebras de linha.

// Base64 格式化函数(与本工具逻辑一致)
function formatBase64(input, lineLength = 76, indent = 0) {
  // 1. 去除所有空白字符
  const clean = input.replace(/\s/g, '');
  if (!clean) return '';

  // 2. 按指定宽度切分
  const lines = [];
  for (let i = 0; i < clean.length; i += lineLength) {
    const line = clean.slice(i, i + lineLength);
    lines.push(' '.repeat(indent) + line);
  }

  // 3. 用换行符连接
  return lines.join('\n');
}

// 使用示例
const b64 = 'a'.repeat(200);
console.log(formatBase64(b64, 76, 0));
// 输出:每行 76 字符的 Base64

// 去格式化(用于解码或传输)
function unformatBase64(input) {
  return input.replace(/\s/g, '');
}

console.log(unformatBase64(formatBase64(b64, 76, 0)).length); // 200

Python: Formatação Base64 + quebra MIME

python

Implementação em Python para quebra a cada 76 caracteres (padrão MIME) com indentação opcional.

import textwrap

def format_base64(b64_str: str, width: int = 76, indent: int = 0) -> str:
    """格式化 Base64 字符串为多行"""
    # 去除所有空白
    clean = ''.join(b64_str.split())
    if not clean:
        return ''

    # 使用 textwrap 按宽度切分
    lines = textwrap.wrap(clean, width=width)

    # 添加缩进
    if indent > 0:
        lines = [' ' * indent + line for line in lines]

    return '\n'.join(lines)


# 使用示例
b64 = 'aGVsbG8gd29ybGQ=' * 10
print(format_base64(b64, 76, 0))

# 复现 MIME Base64 (RFC 2045)
mime_format = format_base64(b64, 76)
print(f'MIME Base64 行数: {len(mime_format.splitlines())}')

# 还原为单行
single_line = b64.replace('\n', '').replace(' ', '')
print(f'单行长度: {len(single_line)}')

Linha de comando: ferramenta fold + quebra MIME Base64

bash

A ferramenta fold, disponível nativamente em Linux/macOS, permite formatar Base64 rapidamente pelo terminal.

# 1. 输入 Base64 → 按 76 字符折行(MIME 标准)
echo "aGVsbG8gd29ybGQ=" | base64 | base64 | fold -w 76

# 2. 格式化长 Base64 文件 → 输出到新文件
fold -w 76 encoded.txt > formatted.txt

# 3. 按 64 字符折行(紧凑展示)
fold -w 64 encoded.txt > compact.txt

# 4. 同时去除所有换行(去格式化)
tr -d '\n' < formatted.txt > single-line.txt

# 5. 验证:Base64 长度 + 行数
wc -c encoded.txt | awk '{print "字符数:", $1}'
wc -l formatted.txt | awk '{print "行数:", $1}'

# 6. 结合 openssl 实现完整 base64 编码 + 格式化
echo "Hello 世界" | openssl base64 -A | fold -w 76 > hello.b64.txt
cat hello.b64.txt

Perguntas frequentes

A formatação altera o conteúdo real do Base64?

Não. A formatação apenas insere quebras de linha e espaços de indentação na exibição, sem alterar a codificação em si. Removendo todos os caracteres em branco do conteúdo formatado, você obtém a string Base64 original em uma única linha. Todos os decodificadores Base64 (atob nativo do navegador, Buffer do Node.js, base64 do Python) ignoram automaticamente caracteres em branco, então o resultado formatado pode ser decodificado diretamente.

Qual a diferença entre formatação Base64 e MIME Base64?

O MIME Base64 segue rigorosamente a quebra a cada 76 caracteres da RFC 2045, sendo o padrão para transporte de anexos de e-mail. A formatação desta ferramenta é mais flexível, permitindo larguras personalizadas de 64/76/80/100 caracteres com indentação de 0/2/4 espaços, mais adequada para documentos, capturas de tela e diferentes necessidades de exibição. Basta selecionar a largura de 76 caracteres para reproduzir a quebra MIME.

É adequado para visualização de logs e registro de tickets?

É muito adequado. Strings Base64 longas em sistemas de tickets (Jira, Zendesk), ferramentas de chat (Slack, Teams) ou documentos Markdown costumam causar rolagem horizontal. Com a formatação em várias linhas, o conteúdo fica claro e legível, podendo ser colado diretamente em anexos de tickets ou janelas de chat.

O resultado formatado pode ser decodificado diretamente?

Sim. Todos os principais decodificadores Base64 ignoram automaticamente quebras de linha e espaços. Se houver problemas (como em versões antigas do OpenSSL), basta clicar no botão "Restaurar" para remover as quebras antes de decodificar.

Por que existem várias larguras como 64 / 76 / 80 / 100?

64 caracteres é ideal para documentos compactos (como terminais CLI, tabelas Markdown); 76 caracteres é o padrão para e-mails MIME; 80 caracteres é a largura tradicional de terminais; 100 caracteres é adequado para editores modernos e telas largas. Cada largura tem um cenário de uso ideal.

Para que serve a indentação?

A indentação (0/2/4 espaços) mantém o Base64 alinhado em blocos de código ou Markdown: 0 espaços é ideal para texto puro, 2 espaços combina com o estilo de código JS/Python, 4 espaços é adequado para blocos de código aninhados em Markdown.

A formatação aumenta o número de caracteres do Base64?

Aumenta cerca de 1-3% (quebras de linha + espaços de indentação), mas isso não afeta a decodificação. Se o transporte for sensível ao tamanho (como parâmetros de URL), recomendamos usar primeiro a função "Restaurar" para voltar à versão em uma única linha.

Suporta UTF-8 / caracteres acentuados?

Esta ferramenta não processa charset diretamente — ela formata apenas a própria string Base64. Se o Base64 contiver caracteres acentuados (por exemplo, Base64 de uma string UTF-8 codificada), a formatação não afeta a correção da codificação.

É adequado para formatar arquivos grandes?

Sim, é compatível. A ferramenta formata em tempo real, e o navegador lida bem com strings Base64 de até 1 MB. Acima de 10 MB pode haver lentidão na interface, então recomendamos formatar em blocos.

Após a formatação o体积 aumenta, é possível comprimir?

A formatação adiciona apenas quebras de linha e indentação, o que é favorável para algoritmos de compressão. Você pode usar gzip / Brotli, ou usar a ferramenta Base64 Stats para verificar o aumento exato.

Solução de Problemas

Alguns caracteres Base64 somem após a formatação

É possível que o Base64 original contenha caracteres ilegítimos (como quebras de linha mal processadas). Limpe primeiro com a ferramenta Base64 Clean e só depois formate.

O resultado formatado difere do conteúdo original em bytes

Isso é impossível — a formatação apenas insere caracteres em branco, sem alterar o conteúdo em bytes. Se houver diferença, significa que o Base64 original foi processado incorretamente (por exemplo, formatação repetida causando inserção duplicada de espaços em branco).

A interface trava após formatar uma string muito longa

Strings Base64 acima de 10 MB podem causar lentidão no navegador. Recomendamos: ① processar em blocos; ② usar base64-clean primeiro para remover espaços desnecessários; ③ reduzir a largura (por exemplo, 64 caracteres) para diminuir a carga de renderização por linha.

Glossário

Formatação Base64
Divisão visual de uma string Base64 em várias linhas com largura definida, afetando apenas a apresentação, sem alterar a codificação em si.
MIME Base64
Variante do Base64 com quebra a cada 76 caracteres definida pela RFC 2045, usada principalmente em anexos de e-mail.
Largura de linha (line length)
Número de caracteres Base64 por linha. Valores comuns: 64 (compacto), 76 (padrão MIME), 80 (impressão tradicional), 100 (telas largas).
Indentação (indent)
Número de espaços no início de cada linha. Valores comuns: 0 (sem indentação), 2 (estilo de código), 4 (bloco de código Markdown).
Caracteres em branco (whitespace)
Espaços, tabs e quebras de linha que podem estar presentes na string Base64. A formatação remove esses caracteres primeiro e depois os reinsere conforme a largura definida.
Desformatar (unformat)
Restaurar um Base64 formatado (várias linhas + indentação) para uma única linha sem espaços em branco, para decodificação ou transporte.

Tabela comparativa das 4 larguras de caracteres

Diferentes larguras de caracteres são adequadas para diferentes cenários de exibição, escolha conforme o ambiente de destino.

LarguraCenário típicoPadrão correspondenteExemplo de uso
64 caracteresTerminal CLI, tabelas MarkdownExibição compactaTelas pequenas / alta densidade
76 caracteresTransporte de anexos de e-mailRFC 2045 MIMEE-mail / SMTP
80 caracteresImpressão em terminais tradicionaisTerminal Unix tradicionalImpressão de documentos
100 caracteresEditores modernos / telas largasNormas de UI modernasIDE / documentação

Tabela comparativa dos 3 estilos de indentação

Diferentes estilos de indentação combinam com diferentes convenções de código; escolha conforme o hábito da equipe ou do projeto.

IndentaçãoEstilo de códigoExemplo (1ª linha do Base64)
0 espaçosSem indentação (texto puro)QUJD...
2 espaçosConvenção JS / Python QUJD...
4 espaçosMarkdown aninhado / convenção Java QUJD...

Authoritative References