מפת סיביות ניידת (.pbm)
Netpbm תקןפורמט מפת סיביות ניידת (PBM) הוא פורמט הגרפיקה הבסיסי בשחור-לבן של 1-bit מתוך חבילת Netpbm, המתוכנן עבור פשיטות מרבית, קריאות אנושית ויצירה פרוגרמטית.
בדיקה ומטא-דאטה
מערכות הפעלה ומנתחי קבצים מזהים קבצי PBM על ידי בדיקת רצף הבייטים הבינארי הראשוני:
חתימת כותרת ברמת הבייט (Magic Bytes)
מערכות הפעלה ומנתחי קבצים מזהים קבצי PBM על ידי בדיקת רצף הבייטים הבינארי הראשוני:
חתימת HEX (היסט 0):
50 31 / 50 34ייצוג ASCII: P1 / P4
תקינה: Netpbm Library Standard
מפרט טכני
| ארכיטקטורת מעטפת | ASCII (P1) or binary (P4) Netpbm format specifying width, height, and 1-bit pixel array |
| דחיסה | Uncompressed raw binary or ASCII character representation |
| סדר בתים (Endianness) | Big-Endian bit-packing (in P4 binary mode) |
| מרחבי צבע | Monochrome (1-bit black and white) |
| ערוצים ומבנה | 1 channel 1-bit monochrome (0 = White, 1 = Black) |
| ממדים מרביים | Practically unlimited (ASCII numeric dimension string) |
| שקיפות | None |
| הזרמה ופרוגרסיביות | Sequential row-by-row streaming playback |
מטריצת השוואה טכנית: PBM מול מתחרים
| תכונה טכנית | PBM (נוכחי) | PGM | PPM | BMP |
|---|---|---|---|---|
| עומק צבע | מונוכרום 1-bit (שחור-לבן בלבד) | גווני אפור 8-bit עד 16-bit | צבע RGB 24-bit עד 48-bit | RGBA בגודל 1-bit עד 32-bit |
| בן משפחת Netpbm | PBM (מפת סיביות ניידת) | PGM (מפת גווני אפור ניידת) | PPM (מפת פיקסלים ניידת) | פורמט שאינו מבית Netpbm |
| בתי קסדה (Magic Bytes) | P1 (ASCII) / P4 (בינארי) | P2 (ASCII) / P5 (בינארי) | P3 (ASCII) / P6 (בינארי) | BM (0x42 0x4D) |
| שימוש עיקרי | עיבוד מסמכי OCR ופקס | הדמיה רפואית וגווני אפור | חינוך לגרפיקה ממוחשבת | גרפיקת שולחן עבודה של Windows |
מצבי שיחשות נפוצים ומדריך שחזור הקסדצימלי (Hex)
התמונה מוצגת עם שורות אופקיות מעוותות או פיקסלים חסרים.
גורם שורש: הערות שלא עברו בריחה ('#') או מפרידי רווח לבן חסרים בכותרת ה-ASCII.
התאוששות: אמתו את מבנה הכותרת ומעברי השורות באמצעות ממיר ה-Netpbm של File2File.
ניתוח אבטחה ווקטורי התקפה על מנתחים (Parsers)
מנתחי PBM הקוראים מחרוזות מימדים בפורמט ASCII פגיעים לגלישות מספר שלם אם המימדים חורגים ממגבלות הפלטפורמה.
ווקטורי תקיפה ידועים
- גלישת מספר שלם במהלך הקצאת חוצץ סיביות בחישוב רוחב * גובה.
- קריאת יתר של חוצץ בעת קריאת זרמי רווח לבן פגומים בפורמט ASCII.
- מניעת שירות (DoS) באמצעות הצהרות מימדים מוגזמות בגודלן בתוך קבצים זעירים.
השיטות המומלצות להגנה:
היסטוריה ואבני דרך
יתרונות מרכזיים
- פשטות אלגוריתמית אולטימטיבית: ניתן לקרוא או לכתוב אותו בתוך 10 שורות קוד בלבד בכל שפת תכנות.
- מצב ASCII (P1) ניתן לקריאה אנושית מלאה וניתן ליצור או לערוך אותו בעורכי טקסט תקניים כמו פנקס רשימות (Notepad).
- מדד תאימות אוניברסלי בצינורות ראייה ממוחשבת אקדמית ו-OCR של מסמכים.
מגבלות טכניות וחסרונות
- מוגבל אך ורק למונוכרום של 1-bit (ללא גווני אפור או צבע).
- מצב ASCII אינו יעיל בעליל, ומשתמש בבית אחד של טקסט ASCII ('0' או '1') עבור סיבית יחידה של נתוני תמונה.
- חסר מטא-דאטה, פרופילי צבע או תמיכה בשכבות.
עובדות טכניות מעניינות
- בפורמט ASCII PBM ('P1'), פיקסל לבן מיוצג על ידי '0' ופיקסל שחור על ידי '1' (בניגוד אינטואיטיבי למוסכמות RGB מודרניות).
- אתם יכולים פשוטו כמשמעו ליצור תמונת PBM תקינה על ידי הקלדת 'P1 2 2 1 0 0 1' בקובץ טקסט ושמירתו.
- הפורמט הומצא כדי שמדעני מחשב יוכלו לשתף מסמכים סרוקים דרך קבוצות דיון של Usenet.
שאלות טכניות נפוצות
מה ההבדל בין PBM, PGM ו-PPM?
PBM הוא מונוכרום של ביט אחד (שחור ולבן בלבד), PGM הוא גווני אפור (גוונים של אפור), ו-PPM הוא צבע RGB מלא ב-24 ביט.
מה המשמעות של P1 ו-P4 בקובצי PBM?
'P1' מציין שהתמונה מאוחסנת בטקסט ASCII רגיל, בעוד ש-'P4' מציין שהתמונה מאוחסנת כבייטים בינאריים קומפקטיים.
כיצד אוכל להמיר קובץ PBM ל-PNG?
תוכל להמיר קובצי PBM לתמונות PNG או JPG מודרניות ישירות בדפדפן שלך באמצעות File2File.app מבלי להעלות נתונים לשרת כלשהו.