Bitmap portátil (.pbm)
Padrão PadrãoPortable Bitmap Format (PBM) é o formato gráfico básico de preto e branco de 1 bit do conjunto Netpbm, criado para ser simples, legível por pessoas e fácil de gerar por programas.
Inspeção e metadados
Sistemas operacionais e analisadores de arquivos identificam arquivos PBM pela sequência inicial de bytes:
Assinatura do arquivo em bytes (magic bytes)
Sistemas operacionais e analisadores de arquivos identificam arquivos PBM pela sequência inicial de bytes:
ASSINATURA HEXADECIMAL (DESLOCAMENTO 0):
50 31 / 50 34REPRESENTAÇÃO ASCII: P1 / P4
Padronização: Padrão da biblioteca Netpbm
Especificações técnicas
| Estrutura do contêiner | Formato Netpbm em ASCII (P1) ou binário (P4), com largura, altura e uma matriz de pixels de 1 bit |
| Compressão | Representação em ASCII ou dados binários brutos, sem compactação |
| Ordem dos bytes (endianness) | Empacotamento de bits em big-endian (no modo binário P4) |
| Espaços de cor | Monocromático (preto e branco de 1 bit) |
| Canais e Estrutura | Um canal monocromático de 1 bit (0 = branco, 1 = preto) |
| Dimensões Máximas | Praticamente ilimitadas (dimensões numéricas em ASCII) |
| Transparência | Nenhuma |
| Streaming e Progressivo | Processamento sequencial em fluxo, linha por linha |
Matriz de comparação técnica: PBM e formatos concorrentes
| Atributo técnico | PBM (Atual) | PGM | PPM | BMP |
|---|---|---|---|---|
| Profundidade de cor | Monocromático de 1 bit (somente preto e branco) | Escala de cinza de 8 a 16 bits | Cor RGB de 24 a 48 bits | RGBA de 1 a 32 bits |
| Formato da mesma família Netpbm | PBM (Bitmap Portátil) | PGM (Portable Graymap, mapa de tons de cinza portátil) | PPM (Portable Pixmap, mapa de pixels portátil) | Formato que não é Netpbm |
| Bytes mágicos | P1 (ASCII) / P4 (binário) | P2 (ASCII) / P5 (Binário) | P3 (ASCII) / P6 (Binário) | BM (0x42 0x4D) |
| Uso principal | Processamento de documentos com OCR e fax | Imagens médicas e escala de cinza | Educação em computação gráfica | Gráficos de desktop do Windows |
Modos comuns de corrupção e guia de recuperação com editor hexadecimal
A imagem é exibida com linhas horizontais distorcidas ou pixels ausentes.
Causa principal: Comentários sem escape (#) ou falta de espaços separadores no cabeçalho ASCII.
Recuperação: Valide a formatação do cabeçalho e as quebras de linha com o conversor Netpbm do File2File.app.
Análise de segurança e vetores de ataque a analisadores
Analisadores PBM que leem dimensões em ASCII podem sofrer estouros de inteiro quando elas ultrapassam os limites da plataforma.
Vetores de ataque conhecidos
- Estouro de inteiro ao alocar o buffer de bits com base na largura multiplicada pela altura.
- Leitura além dos limites do buffer ao processar sequências malformadas de espaços em branco ASCII.
- Negação de serviço causada por declarações de dimensões enormes em arquivos pequenos.
Melhores práticas defensivas: Defina limites máximos para as dimensões PBM e valide os limites do buffer de bits antes da decodificação.
Origens históricas e marcos
Principais vantagens
- A estrutura compacta do PBM pode facilitar a implementação de leitores e gravadores básicos, mas a quantidade de código depende da linguagem e dos requisitos.
- O modo ASCII (P1) é totalmente legível por pessoas e pode ser criado ou editado em editores de texto comuns, como o Bloco de Notas.
- Formato universal de intercâmbio em projetos acadêmicos de visão computacional e processamento de documentos com OCR.
Limitações técnicas e desvantagens
- Limitado a imagens monocromáticas de 1 bit, sem tons de cinza nem cores.
- O modo ASCII é muito ineficiente: usa um byte de texto ASCII (0 ou 1) para cada bit da imagem.
- Não oferece metadados, perfis de cor nem suporte a camadas.
Curiosidades técnicas
- No PBM ASCII (P1), o pixel branco é representado por 0 e o preto por 1, o que contrasta com as convenções RGB atuais.
- É possível criar uma imagem PBM válida digitando P1 2 2 1 0 0 1 em um arquivo de texto e salvando-o.
- O formato foi criado para que cientistas da computação compartilhassem documentos digitalizados em grupos de discussão da Usenet.
Perguntas técnicas frequentes
Qual é a diferença entre PBM, PGM e PPM?
O PBM é monocromático de 1 bit (somente preto e branco), o PGM usa escala de cinza e o PPM armazena cores RGB de 24 bits.
O que significam P1 e P4 nos arquivos PBM?
P1 indica que a imagem está armazenada como texto ASCII simples; P4 indica que ela está armazenada em bytes binários compactos.
Como posso converter um arquivo PBM para PNG?
Você pode converter arquivos PBM em imagens PNG ou JPG modernas diretamente no navegador, usando o File2File.app e sem enviar dados a nenhum servidor.