Przenośna mapa bitowa (.pbm)
Standard StandardPortable Bitmap Format (PBM) to podstawowy 1-bitowy czarno-biały format graficzny pakietu Netpbm, zaprojektowany z myślą o maksymalnej prostocie, czytelności dla człowieka i generowaniu przez programy.
Inspekcja i metadane
Systemy operacyjne i analizatory plików identyfikują pliki PBM, sprawdzając początkową sekwencję bajtów binarnych:
Podpis nagłówka na poziomie bajtów (Magic Bytes)
Systemy operacyjne i analizatory plików identyfikują pliki PBM, sprawdzając początkową sekwencję bajtów binarnych:
PODPIS HEX (OFFSET 0):
50 31 / 50 34REPREZENTACJA ASCII: P1 / P4
Normalizacja: Standard biblioteki Netpbm
Specyfikacja techniczna
| Architektura kontenera | Format Netpbm ASCII (P1) lub binarny (P4) określający szerokość, wysokość i 1-bitową tablicę pikseli |
| Kompresja | Nieskompresowana surowa reprezentacja binarna lub tekstowa ASCII |
| Kolejność bajtów (Endianness) | Pakowanie bitów Big-Endian (w trybie binarnym P4) |
| Przestrzenie kolorów | Monochromatyczny (1-bitowy czarno-biały) |
| Kanały i struktura | 1 kanał, 1-bitowy monochromatyczny (0 = biały, 1 = czarny) |
| Maks. wymiary | Praktycznie nieograniczone (ciąg znaków wymiarów ASCII) |
| Przezroczystość | Brak |
| Streaming i progresywne ładowanie | Sekwencyjne odtwarzanie strumieniowe wiersz po wierszu |
Techniczna macierz porównawcza: PBM a konkurencja
| Atrybut techniczny | PBM (Bieżący) | PGM | PPM | BMP |
|---|---|---|---|---|
| Głębia kolorów | 1-bitowa monochromatyczna (tylko czarno-biała) | Odcienie szarości od 8-bitowych do 16-bitowych | Kolor RGB od 24-bitowego do 48-bitowego | Od 1-bitowego do 32-bitowego RGBA |
| Pokrewny format Netpbm | PBM (Przenośna mapa bitowa) | PGM (Przenośna mapa odcieni szarości) | PPM (Przenośna mapa pikseli) | Format spoza Netpbm |
| Magiczne bajty | P1 (ASCII) / P4 (Binarny) | P2 (ASCII) / P5 (Binarny) | P3 (ASCII) / P6 (Binarny) | BM (0x42 0x4D) |
| Główne zastosowanie | Przetwarzanie dokumentów OCR i faksów | Obrazowanie medyczne i odcienie szarości | Edukacja z zakresu grafiki komputerowej | Grafika pulpitu systemu Windows |
Typowe tryby uszkodzeń i przewodnik odzyskiwania szesnastkowego
Obraz renderuje się ze skośnymi wierszami poziomymi lub brakującymi pikselami.
Główna przyczyna: Niepoprawnie obsłużone komentarze („#”) lub brak wymaganych odstępów w nagłówku ASCII.
Odzyskiwanie: Sprawdź formatowanie nagłówka i znaki nowej linii za pomocą konwertera Netpbm File2File.app.
Analiza bezpieczeństwa i wektory ataku na parser
Analizatory PBM odczytujące ciągi wymiarów ASCII są podatne na przepełnienia liczbowe, jeśli wymiary przekraczają limity platformy.
Znane wektory ataku
- Przepełnienie liczbowe podczas alokacji bufora bitów szerokość * wysokość.
- Odczyt danych spoza bufora podczas przetwarzania wadliwych strumieni białych znaków ASCII.
- Odmowa usługi (DoS) spowodowana deklaracją nadmiernie dużych wymiarów w bardzo małym pliku.
Najlepsze praktyki obronne: Ogranicz maksymalne dozwolone wymiary PBM i sprawdź granice bufora bitów przed dekodowaniem.
Pochodzenie historyczne i kamienie milowe
Główne zalety
- Prosta struktura PBM może ułatwić implementację podstawowych czytników i zapisów, ale ilość kodu zależy od języka i wymagań.
- Tryb ASCII (P1) jest w 100% czytelny dla człowieka i można go tworzyć lub edytować w standardowych edytorach tekstowych, takich jak Notatnik.
- Uniwersalny punkt odniesienia wymiany danych w akademickich rurociągach widzenia komputerowego i OCR dokumentów.
Ograniczenia techniczne i wady
- Ograniczone ściśle do 1-bitowej monochromatyczności (brak odcieni szarości lub koloru).
- Tryb ASCII jest wysoce niewydajny, zużywając jeden bajt tekstu ASCII ('0' lub '1') na pojedynczy bit danych obrazu.
- Brak metadanych, profili kolorów czy wsparcia dla warstw.
Ciekawe informacje techniczne
- W formacie ASCII PBM ('P1') biały piksel jest reprezentowany przez '0', a czarny piksel przez '1' (co jest sprzeczne z intuicją w stosunku do współczesnych konwencji RGB).
- Możesz dosłownie utworzyć prawidłowy obraz PBM, wpisując 'P1 2 2 1 0 0 1' w pliku tekstowym i zapisując go.
- Format ten został wynaleziony po to, aby informatycy mogli udostępniać zeskanowane dokumenty w grupach dyskusyjnych Usenet.
Często zadawane pytania techniczne
Jaka jest różnica między PBM, PGM a PPM?
PBM to 1-bitowa monochromatyczność (tylko czerń i biel), PGM to skala szarości (odcienie szarości), a PPM to pełny 24-bitowy kolor RGB.
Co oznaczają P1 i P4 w plikach PBM?
'P1' oznacza, że obraz jest przechowywany w zwykłym tekście ASCII, podczas gdy 'P4' oznacza, że obraz jest przechowywany jako zwarte bajty binarne.
Jak mogę przekonwertować plik PBM na PNG?
Możesz konwertować pliki PBM na nowoczesne obrazy PNG lub JPG bezpośrednio w przeglądarce za pomocą File2File.app bez przesyłania danych na żaden serwer.