Portable Bitmap Format (.pbm)
Netpbm StandaardPortable Bitmap Format (PBM) is het basale 1-bits zwart-witformaat van de Netpbm-suite, ontworpen voor maximale eenvoud, leesbaarheid voor mensen en programmatische generatie.
Inspecteren en metadata
Besturingssystemen en bestandsanalysators herkennen PBM-bestanden aan de hand van de eerste binaire bytesequentie:
Bestandshandtekening op byteniveau (magic bytes)
Besturingssystemen en bestandsanalysators herkennen PBM-bestanden aan de hand van de eerste binaire bytesequentie:
HEX-HANDTEKENING (OFFSET 0):
50 31 / 50 34ASCII-WEERGAVE: P1 / P4
Standaardisatie: Netpbm Library Standard
Technische specificaties
| Containerarchitectuur | ASCII (P1) of binair (P4) Netpbm-formaat waarin breedte, hoogte en een 1-bits pixelarray worden gespecificeerd |
| Compressie | Ongecomprimeerde ruwe binaire of ASCII-tekenweergave |
| Bytevolgorde (endianness) | Big-Endian bit-packing (in P4 binaire modus) |
| Kleurruimten | Monochroom (1-bits zwart-wit) |
| Kanalen en structuur | 1 kanaal, 1-bits monochroom (0 = wit, 1 = zwart) |
| Maximale afmetingen | Praktisch onbeperkt (ASCII numerieke afmetingstekenreeks) |
| Transparantie | Geen |
| Streaming en progressief | Sequentiële streaming, rij voor rij |
Technische vergelijkingsmatrix: PBM versus concurrenten
| Technisch kenmerk | PBM (Huidig) | PGM | PPM | BMP |
|---|---|---|---|---|
| Kleurdiepte | 1-bits monochroom (alleen Z&W) | 8-bits tot 16-bits grijstinten | 24-bits tot 48-bits RGB-kleur | 1-bits tot 32-bits RGBA |
| Netpbm-tegenhanger | PBM (Portable Bitmap) | PGM (Portable Graymap) | PPM (Portable Pixmap) | Niet-Netpbm-formaat |
| Bestandshandtekening (magic bytes) | P1 (ASCII) / P4 (binair) | P2 (ASCII) / P5 (binair) | P3 (ASCII) / P6 (binair) | BM (0x42 0x4D) |
| Primair gebruik | OCR- en faxdocumentverwerking | Medische beeldvorming en grijstinten | Educatie in computergraphics | Windows-bureaubladgraphics |
Veelvoorkomende beschadigingen en gids voor hex-herstel
Afbeelding wordt weergegeven met schuine horizontale rijen of ontbrekende pixels.
Oorzaak: Misvormd commentaar of een ontbrekend witruimteteken in de ASCII-header.
Herstel: Controleer de opmaak van de header en de regeleinden met de Netpbm Converter van File2File.app.
Beveiligingsanalyse en aanvalsvectoren voor parsers
PBM-parsers die afmetingen als ASCII-tekenreeksen lezen, zijn vatbaar voor integeroverflows als de afmetingen de limieten van het platform overschrijden.
Bekende aanvalsvectoren
- Integeroverflow tijdens de toewijzing van de bitbuffer voor breedte * hoogte.
- Bufferoverread bij het lezen van onjuiste ASCII-witruimtestromen.
- Denial of service door buitensporig grote afmetingen in kleine bestanden.
Aanbevolen beveiligingspraktijken: Stel een limiet in voor de maximaal toegestane PBM-dimensies en valideer de grenzen van de bitbuffer vóór het decoderen.
Historische oorsprong en mijlpalen
Belangrijkste voordelen
- De compacte structuur kan het implementeren van eenvoudige PBM-lezers en -schrijvers rechttoe rechtaan maken, hoewel de codelengte afhankelijk is van taal en vereisten.
- ASCII-modus (P1) is 100% leesbaar voor mensen en kan worden gemaakt of bewerkt in standaard teksteditors zoals Kladblok.
- PBM kan worden gebruikt in sommige workflows voor beeldverwerking, computervisie en OCR, met name waar een eenvoudige monochrome bitmap handig is.
Technische beperkingen
- Strikt beperkt tot 1-bits monochroom (geen grijstinten of kleur).
- ASCII-modus is uiterst inefficiënt en gebruikt één byte ASCII-tekst ('0' of '1') per enkele bit afbeeldingsdata.
- Mist metadata, kleurprofielen of laagondersteuning.
Interessante technische weetjes
- In ASCII PBM ('P1') wordt een witte pixel weergegeven door '0' en een zwarte pixel door '1' (contra-intuïtief ten opzichte van moderne RGB-conventies).
- U kunt letterlijk een geldige PBM-afbeelding maken door 'P1 2 2 1 0 0 1' in een tekstbestand te typen en dit op te slaan.
- Het formaat is uitgevonden zodat computerwetenschappers gescande documenten konden delen via Usenet-nieuwsgroepen.
Veelgestelde technische vragen
Wat is het verschil tussen PBM, PGM en PPM?
PBM is monochroom van 1 bit (alleen zwart-wit), PGM bevat grijswaarden en PPM bevat volledige 24-bits RGB-kleur.
Wat betekenen P1 en P4 in PBM-bestanden?
'P1' geeft aan dat de afbeelding is opgeslagen in platte ASCII-tekst, terwijl 'P4' aangeeft dat de afbeelding is opgeslagen als compacte binaire bytes.
Hoe kan ik een PBM-bestand converteren naar PNG?
U kunt PBM-bestanden rechtstreeks in uw browser converteren naar moderne PNG- of JPG-afbeeldingen met File2File.app, zonder gegevens naar een server te uploaden.