Przenośna mapa bitowa (.pbm)
Standard StandardowyPortable 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 programowej generacji.
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 | Neskondensowana 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: Niezabezpieczone komentarze ('#') lub brakujące separatory białych znaków w nagłówku ASCII.
Odzyskiwanie: Sprawdź formatowanie nagłówka i znaki nowej linii za pomocą konwertera Netpbm File2File.
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 bufora poza zakresem podczas czytania wadliwych strumieni białych znaków ASCII.
- Odmowa usługi (DoS) poprzez nadmiernie duże deklaracje wymiarów w malutkich plikach.
Najlepsze praktyki obronne: Ogranicz maksymalne dozwolone wymiary PBM i sprawdź granice bufora bitów przed dekodowaniem.
Pochodzenie historyczne i kamienie milowe
Główne zalety
- Najwyższa prostota algorytmiczna: można go odczytać lub zapisać w zaledwie 10 linijkach kodu w dowolnym języku programowania.
- 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.