Portable Bitmap (.pbm)
Netpbm StandardPortable Bitmap Format (PBM) är det grundläggande 1-bitars svartvita grafikformatet i Netpbm-sviten, utformat för maximal enkelhet, mänsklig läsbarhet och programmatisk generering.
Granska och metadata
Operativsystem och filanalysverktyg identifierar PBM-filer genom att granska den inledande sekvensen av binära byte:
Signatur i filhuvudet på bytenivå (magiska byte)
Operativsystem och filanalysverktyg identifierar PBM-filer genom att granska den inledande sekvensen av binära byte:
HEX-SIGNATUR (OFFSET 0):
50 31 / 50 34ASCII-REPRESENTATION: P1 / P4
Standardisering: Netpbm Library Standard
Tekniska specifikationer
| Containerarkitektur | Netpbm-format i ASCII (P1) eller binärt (P4) med bredd, höjd och en 1-bitars pixelmatris |
| Komprimering | Okomprimerad rå binär data eller ASCII-teckenrepresentation |
| Byteordning | Big-endian-bitpackning (i binärt P4-läge) |
| Färgrymder | Monokromt (1-bitars svartvitt) |
| Kanaler och struktur | 1 kanal, 1-bitars monokromt (0 = vitt, 1 = svart) |
| Maximala dimensioner | I praktiken obegränsade dimensioner (numerisk dimensionssträng i ASCII) |
| Transparens | Ingen |
| Strömning och progressiv visning | Sekventiell strömmande uppspelning rad för rad |
Teknisk jämförelsematris: PBM jämfört med konkurrenter
| Tekniskt attribut | PBM (Aktuell) | PGM | PPM | BMP |
|---|---|---|---|---|
| Färgdjup | 1-bitars monokrom (endast S/V) | 8-bitars till 16-bitars gråskala | 24-bitars till 48-bitars RGB-färg | 1-bitars till 32-bitars RGBA |
| Netpbm-syskon | PBM (Portable Bitmap) | PGM (Portable Graymap) | PPM (Portable Pixmap) | Icke-Netpbm-format |
| Magiska byte | P1 (ASCII) / P4 (binärt) | P2 (ASCII) / P5 (binärt) | P3 (ASCII) / P6 (binärt) | BM (0x42 0x4D) |
| Primär användning | Dokumentbearbetning för OCR och fax | Medicinsk bildbehandling och gråskala | Utbildning i datorgrafik | Windows skrivbordsgrafik |
Vanliga skadeorsaker och hex-återställningsguide
Bilden renderas med snedställda horisontella rader eller saknade pixlar.
Grundorsak: Felaktig kommentar eller saknad blankstegsavgränsare i ASCII-huvudet.
Återställning: Validera huvudformatering och radbrytningar med File2File.app Netpbm Converter.
Säkerhetsanalys och attackvektorer för tolkar
PBM-tolkar som läser ASCII-dimensionssträngar är sårbara för heltalsspill om dimensionerna överskrider plattformsgränser.
Kända attackvektorer
- Heltalsspill vid allokering av bitbuffert för bredd * höjd.
- Buffertläsning utanför gränserna vid läsning av felaktiga ASCII-blankstegsströmmar.
- Tjänsteavbrott (DoS) genom extremt stora dimensionsdeklarationer i små filer.
Rekommenderade skyddsåtgärder: Sätt ett tak för maximalt tillåtna PBM-dimensioner och validera bitbuffertgränser innan avkodning sker.
Historiskt ursprung och milstolpar
Viktiga fördelar
- Den enkla strukturen kan göra det okomplicerat att implementera grundläggande PBM-läsare och -skrivare, men kodens längd beror på språk och krav.
- ASCII-läget (P1) är 100 % läsbart för människor och kan skapas eller redigeras i vanliga textredigerare som Anteckningar.
- PBM kan användas i vissa arbetsflöden för bildbehandling, datorseende och OCR, särskilt när en enkel monokrom bitmapp är lämplig.
Tekniska begränsningar
- Strikt begränsat till 1-bitars monokromt (inga nyanser av grått eller färg).
- ASCII-läget är mycket ineffektivt och använder en byte ASCII-text ('0' eller '1') per enskild bit bilddata.
- Saknar metadata, färgprofiler eller lagerstöd.
Intressant teknisk kuriosa
- I ASCII PBM ('P1') representeras en vit pixel av '0' och en svart pixel av '1' (vilket är tvärtemot moderna RGB-konventioner).
- Du kan bokstavligen skapa en giltig PBM-bild genom att skriva 'P1 2 2 1 0 0 1' i en textfil och spara den.
- Formatet uppfanns så att datavetare kunde dela skannade dokument över Usenet-diskussionsgrupper.
Vanliga tekniska frågor
Vad är skillnaden mellan PBM, PGM och PPM?
PBM är 1-bitars monokrom (endast svart och vitt), PGM är gråskala (nyanser av grått) och PPM är full 24-bitars RGB-färg.
Vad betyder P1 och P4 i PBM-filer?
'P1' anger att bilden är lagrad i vanlig ASCII-text, medan 'P4' anger att bilden är lagrad som kompakta binära byte.
Hur kan jag konvertera en PBM-fil till PNG?
Du kan konvertera PBM-filer till moderna PNG- eller JPG-bilder direkt i din webbläsare med File2File.app utan att ladda upp data till någon server.