Portable Bitmap (.pbm)
Netpbm-bibliotekets StandardPortable Bitmap Format (PBM) er det grunnleggende 1-bits svart-hvite grafikkformatet i Netpbm-pakken, utformet for å være så enkelt og lesbart for mennesker som mulig, og for å kunne genereres programmatisk.
Inspeksjon og metadata
Operativsystemer og filanalysatorer identifiserer PBM-filer ved å undersøke den innledende binære bytesekvensen:
Filsignatur på bytenivå (magiske byte)
Operativsystemer og filanalysatorer identifiserer PBM-filer ved å undersøke den innledende binære bytesekvensen:
HEX-SIGNATUR (OFFSET 0):
50 31 / 50 34ASCII-REPRESENTASJON: P1 / P4
Standardisering: Netpbm-bibliotekets standard
Tekniske spesifikasjoner
| Beholderarkitektur | Netpbm-format i ASCII (P1) eller binær form (P4), med bredde, høyde og 1-bits pikselmatrise |
| Komprimering | Ukomprimerte rå binærdata eller ASCII-tegnrepresentasjon |
| Bytterekkefølge | Big-endian-bitpakking (i binær P4-modus) |
| Fargerom | Monokromt (1-bits svart-hvitt) |
| Kanaler og struktur | Enkanals 1-bits monokrom (0 = hvit, 1 = svart) |
| Maks. dimensjoner | I praksis ubegrenset (ASCII-streng med numeriske dimensjoner) |
| Gjennomsiktighet | Ingen |
| Strømming og progressiv visning | Sekvensiell strømming og avspilling rad for rad |
Teknisk sammenligningsmatrise: PBM sammenlignet med konkurrenter
| Teknisk attributt | PBM (Gjeldende) | PGM | PPM | BMP |
|---|---|---|---|---|
| Fargedybde | 1-bit monokromatisk (kun S/H) | 8- til 16-biters gråtone | 24- til 48-biters RGB-farge | 1- til 32-biters RGBA |
| Beslektet Netpbm-format | PBM (Portable Bitmap) | PGM (Portable Graymap) | PPM (Portable Pixmap) | Ikke-Netpbm-format |
| Signaturbyte | P1 (ASCII) / P4 (binær) | P2 (ASCII) / P5 (binær) | P3 (ASCII) / P6 (binær) | BM (0x42 0x4D) |
| Primær bruk | Behandling av OCR- og faksdokumenter | Medisinske bilder og gråtoner | Undervisning i datagrafikk | Windows-skrivebordsgrafikk |
Vanlige korrupsjonsmoduser og heksadesimal gjenopprettingsveiledning
Bildet gjengis med skjeve horisontale rader eller manglende piksler.
Underliggende årsak: Uescapede kommentarer ('#') eller manglende mellomromseparatorkarakterer i ASCII-hodet.
Utbedring: Valider formatering av headeren og linjeskift ved hjelp av File2File.app Netpbm Converter.
Sikkerhetsanalyse og angrepsvektorer mot parsere
PBM-parsere som leser ASCII-dimensjonsstrenger er sårbare for heltallsoverflyt hvis dimensjonene overstiger plattformgrensene.
Kjente angrepsvektorer
- Heltallsoverflyt under bitbuffertildeling for bredde * høyde.
- Bufferoverlesing ved lesing av misdannede ASCII-mellomromsstrømmer.
- Tjenestenekt gjennom altfor store dimensjonserklæringer i små filer.
Anbefalte sikkerhetstiltak: Sett et tak for maksimalt tillatte PBM-dimensjoner, og valider bitbufferens grenser før dekoding.
Historisk opprinnelse og milepæler
Viktige fordeler
- Den kompakte strukturen gjør det forholdsvis enkelt å lage grunnleggende PBM-lesere og -skrivere, men kodelengden avhenger av språk og krav.
- ASCII-modus (P1) er 100 % lesbar for mennesker og kan opprettes eller redigeres i standard tekstredigeringsprogrammer som Notisblokk.
- PBM kan brukes i enkelte arbeidsflyter for bildebehandling, datamaskinsyn og OCR, særlig når et enkelt monokromt punktbilde er nyttig.
Tekniske begrensninger og ulemper
- Strengt begrenset til monokromatisk 1-bit (ingen gråtoner eller farger).
- ASCII-modus er svært ineffektiv og bruker én byte med ASCII-tekst ('0' eller '1') per bit bildedata.
- Mangler metadata, fargeprofiler eller lagstøtte.
Interessante tekniske fakta
- I ASCII PBM ('P1') representeres en hvit piksel av '0' og en svart piksel av '1' (noe som er kontraintuitivt for moderne RGB-konvensjoner).
- Du kan bokstavelig talt opprette et gyldig PBM-bilde ved å skrive 'P1 2 2 1 0 0 1' inn i en tekstfil og lagre den.
- Formatet ble oppfunnet slik at datalogger kunne dele skannede dokumenter over Usenet-nyhetsgrupper.
Ofte stilte tekniske spørsmål
Hva er forskjellen mellom PBM, PGM og PPM?
PBM er monokromatisk med 1 bit (kun svart-hvitt), PGM er et gråtoneformat (nyanser av grått), og PPM er et fullfargeformat med 24-biters RGB.
Hva betyr P1 og P4 i PBM-filer?
'P1' angir at bildet er lagret i ren ASCII-tekst, mens 'P4' angir at bildet er lagret som kompakte binære byte.
Hvordan kan jeg konvertere en PBM-fil til PNG?
Du kan konvertere PBM-filer til moderne PNG- eller JPG-bilder direkte i nettleseren din ved hjelp av File2File.app uten å laste opp data til noen server.