פרסומת
ה קוֹבֶץ אחד מ ה חלקים בסיסיים בחוויית המחשוב. אבל מה זה בכלל "קובץ"? זה סמל על שולחן העבודה שלך, ערך ברשימה שפותח את התקציב שלך כגיליון אלקטרוני, ושם שאתה יכול לתת לסלפי האחרון שלך. בסופו של יום, "קובץ" הוא אוסף של ביטים (אפסים ואחדים) המסודרים בתבנית שאפליקציה כלשהי מבינה.
מפתחים עשויים לשמור את הדפוסים האלה בסוד, מה שעשוי לגרום למשתמשים לשמור על תוכנית מסוימת למרות חלופות המדריך המלא לממיר קבצים של Microsoft Officeאם אי פעם המרת קובץ טקסט, כמו PDF ל-Word, אתה מכיר את האתגר. לפעמים זה קל כמו הדפסה, לפעמים צריך כלים מיוחדים. היכנסו למדריך הממיר הזה. קרא עוד . מפתחים אחרים עשויים למעשה לעודד אימוץ של הפורמטים שלהם. במקרים מסוימים ייתכן שתוכל לפתוח ולפרש את הפורמט בקלות, או שלא יהיה ניתן להשתמש בו מחוץ ליישום המקורי שלו. במאמר זה נחקור דוגמאות לכל האמור לעיל.
מבוסס טקסט לעומת פורמטים בינאריים של קבצים
ההיבט החשוב הראשון של סוגי קבצים שונים הוא האם זה בינארי או מבוסס טקסט. בואו נסתכל על כל אחד מהם בתורו.
פורמטים מבוססי טקסט
קובץ הטקסט הוא פורמט הקובץ הבסיסי ביותר בסביבה. ניתן לקרוא אותו כמעט על ידי כל מערכת בחוץ עם מעבד. פורמט זה הוא רצף של ביטים (אחד ואפסים) התואם את תקן ASCII (נתעלם Unicode כרגע), כלומר מחשב יכול לפרש כל בייט (8 סיביות) כתו מתוך ה הבא:
- A-Z (כולל אותיות גדולות וקטנות
- 0-9
- דמות שטח
- מבחר סמלים (למשל סימני פיסוק)
- תווי בקרה (למשל "DEL")

מכיוון שהנתונים מאוחסנים כטקסט, אתה יכול להציג את התוכן של קובץ על ידי פתיחתו ב-a עורך טקסט, אפילו פשוטים כמו Windows Notepad 2 עורכי טקסט מינימליסטיים שכנראה לא שמעתם עליהם [Windows]מלבד היותם רצויים מבוססים על זמני טעינה מהירים, יישומים מסוימים פשוט אינם דורשים יותר מדי תכונות עתירות משאבים. יישומים מינימליסטיים הם זעירים ונקיים, וכל עוד הם עושים את העבודה אז אתה... קרא עוד (או מקבילות עבור מק עורכי ה-HTML הטובים ביותר עבור ה-Mac שלךצריך עורך טקסט חדש עבור ה-Mac שלך? אנו מסתכלים על עורכי טקסט HTML בחינם ובתשלום הטובים ביותר עבור macOS. קרא עוד , לינוקס עורכי טקסט מתקדמים של לינוקס בהשוואה: קייט נגד geditכל משתמש לינוקס יגיד לך שעורך טקסט טוב הוא מרכיב חיוני של מערכת מחשב, לא משנה אם אתה משתמש חדש או מקצוען ותיק. בזמן שימוש בטקסט מסוף... קרא עוד , iOS אפליקציה לכתוב: עורך טקסט יפהפה ל-iOS עם תמיכת Markdown ועשרות פעולותאפליקציות כתיבה לאייפד ולאייפון יש בשפע. התמזל מזלנו לחיות בתקופה שבה מפתחים מציעים דרכים חדשות לערוך טקסט באמצעות תכונות ייחודיות באפליקציות חדשות. זֶה... קרא עוד , ו דְמוּי אָדָם 7 עורכי טקסט נטולי הסחות דעת לאנדרואיד בהשוואה: מה הכי טוב?בצע עבודה אמיתית במכשיר האנדרואיד שלך על ידי שימוש באחד מעורכי הטקסט המדהימים האלה. קרא עוד ). מכיוון שכמעט כל פלטפורמות המחשוב מגיעות עם עורך טקסט בסיסי, אתה יכול לשים מידע (טקסט) באחד מהקבצים האלה ולהיות בטוח שתמיד תוכל לגשת אליו. יישומים אחרים אינם צריכים לדעת דבר נוסף כדי לפחות לקרוא את הנתונים כראוי.
עם זאת, הדברים מסתבכים יותר כאשר אתה צריך לייצג משהו כמו גופן הטקסט או תאריך מילוי אוטומטי בעמוד השער. במקרים אלה, תווי ASCII תורמים ל-a פורמט מבוסס טקסט כמו Markdown מה זה Markdown? 4 סיבות מדוע כדאי ללמוד את זה עכשיונמאס לך מעורכי HTML ו-WYSIWYG? אז Markdown הוא התשובה בשבילך, לא משנה מי אתה. קרא עוד או XML. למרות שזה מקנה את היתרונות של טקסט רגיל כמו שקיפות, קבצים אלה דורשים לעתים קרובות יותר מקום לאלמנטים כמו תגים. שקול את הקובץ הבא של משפט אחד בטקסט רגיל, ולאחר מכן בפורמט "ODT שטוח" (FODT) של Open Document Format, המשתמש ב-XML. התמונה למטה מראה שגרסת הטקסט הפשוט היא 53 בתים, בעוד שגרסת ה-ODT היא 25,000 בייטים.

פורמטים בינאריים
בניגוד, פורמטים בינארים מה זה בינארי? [הסבר על הטכנולוגיה]בהתחשב בכך שבינארי הוא כל כך בסיסי לקיומם של מחשבים, זה נראה מוזר שמעולם לא התמודדנו עם הנושא לפני כן - אז היום חשבתי לתת סקירה קצרה של מה בינארי... קרא עוד הם קבצים שיישום יבנה אותו טיפין טיפין. אתה יכול לנסות לפתוח את הקבצים האלה עם עורך טקסט, אבל סביר להניח שהוא לא יידע איך לפרש אותם. להלן מראה את התוצאה של ניסיון לפתוח קובץ Microsoft Excel עם עורך טקסט.

האפליקציה צריכה לעבד את הנתונים בקובץ בינארי בצורה ספציפית. בעת פתיחת קובץ XLS, אפליקציה חייבת להתייחס לשישה עשר הבתים הראשונים של הקובץ כסמן "תחילת הקובץ" (BOF). בתוך הסמן הזה, הפריט החמישי הוא סיביות בודדת המציינת אם הקובץ נערך לאחרונה בפלטפורמת Windows ("fWin") או לא. זה בא אחרי ארבעה פריטים אחרים, כל אחד שני בתים, כלומר הפריט "fWin" הוא הסיביות ה-65 בקובץ האקסל.

כפי שראינו, אם תנסה לפתוח אותו עם אפליקציה שאינה מטפלת בסיביות ה-65 בתור דגל "fWin", האפליקציה הזו לא תפתח אותה כראוי. זה עשוי להציג הרבה תווים משובשים על המסך (מוצג למעלה), לטפל בזה בחן עם הודעת שגיאה (מוצגת גם למעלה, בגלל לינוקס), או לקרוס. בכל מקרה הוא לא יידע לקרוא את הנתונים בצורה נכונה, ולכן לא יציג אותם בצורה נכונה. אבל יישומים, לאחר שתכנתם, יכולים להתמודד עם כמה פורמטים של קבצים שתרצה.
פתוח מול פורמטים קנייניים
השיקול הבא הוא האם פורמט קובץ פתוח (כלומר זמין לשימוש קל על ידי אחרים) או קנייני. שימו לב ש"קנייני" אינו זהה לסגור, לפחות לא בכל המקרים. בעוד ש"טקסט לעומת. הדיון הבינארי לעיל היה דיון טכני, "פתוח לעומת. קנייני" קשור יותר לתנאי הרישוי של פורמט קובץ. עוד על כך בסעיפים הבאים.
פתח את הפורמטים
פורמטים פתוחים הם אלה שבהם הרישיון מאפשר למשתמשים לאמץ אותם ליישומים שלהם. גוף תקנים מסוג כלשהו צריך גם לפקח על הפיתוח המתמשך שלהם על ידי קהילה של תורמים עבור הפורמטים להיות באמת "פתוח". פורמטים פתוחים גם ללא עלויות והגבלות רישוי - הם יכולים לשמש כל אחד, לכל מטרה. אולי הפורמט הפתוח המפורסם ביותר הוא פורמט מסמך פתוח (ODF) 9 פורמטים נדירים של קבצי Office שאתה צריך להכירהאם נתקלת פעם בפורמטים מוזרים של קבצים בחבילת המשרד שלך? אנו נותנים לך הסבר קצר על סוגי קבצי Office נדירים אך שימושיים ולמה אתה יכול להשתמש בהם. קרא עוד , שוחרר לראשונה בשנת 2005 על ידי אואזיס. מטרתו הייתה להציע חלופה למנעול שהיה למיקרוסופט בשוק הפרודוקטיביות.
עם פורמטים פתוחים אתה אף פעם לא צריך לחשוש שהמידע שלך נעול בתוך קובץ מסוים. שקול את הדברים הבאים, המציגים את הקובץ בפורמט ODT שטוח שלנו. אמנם יש הרבה מידע זר סביבו, אבל אתה יכול לראות את הנתונים בפועל שם, ברור כשמש.

יתרון נוסף של פורמטים פתוחים הוא התיעוד היסודי שלהם. זה דבר אחד שקובץ יהיה קריא בקלות. מתכנת עדיין יצטרך (באמצעות ניסוי וטעייה) להבין מה בדיוק עושה כל תכונה ותכונה שלו. אבל במקרה של ODF, ה מפרט גרסה 1.2 נותן למתכנת את כל מה שהוא צריך לדעת כדי ליישם את התמיכה בו ביעילות.
פורמטים קנייניים
לבסוף, פורמטים קנייניים מוגנים על ידי המפתחים שלהם. זה יכול להיות בגלל שהם כוללים סודות מסחריים, למטרות אבטחה (נתפסת), או פשוט בגלל שהמפתח לא רוצה לחלוק את עבודתו. תהיה הסיבה אשר תהיה, פורמטים אלה הם קנייניים מכוח הסכמי רישיון למשתמש קצה (EULAs) או תנאים אחרים האוסרים על המשתמש לנסות לבצע הנדסה לאחור או "לפצח" בדרך אחרת את פורמט הקובץ.
ברגע שרק "אסור", ה Digital Millenium Copyright Act מהו חוק זכויות היוצרים במדיה דיגיטלית? קרא עוד (DCMA) שינה דברים. למפתחים יש כעת את הגיבוי המשפטי לרדוף אחרי אלה שמהנדסים לאחור את עבודתם. כדאי לחשוב על העתיד לפני השקעה באפליקציה המשתמשת בפורמט קנייני. האם תצטרך להעביר מידע זה למקום אחר בעתיד? אם כן, עד כמה זה יכאב? האם החברה בכלל תהיה בסביבה בעוד שנה, או חמש? אתה צריך לשקול אם התכונות של אפליקציה שוות את זה אם זה אומר גם להיות נעול לתוך אותו מפתח בגלל פורמטים קנייניים.
דוגמאות לפורמטים של קבצים
אם תסתכל על האמור לעיל, כמה שילובים יקפצו לך. זה נכון שתבניות קבצים מבוססות טקסט מתאימים את עצמם להיות פתוחים. באופן דומה, אם המטרה של פורמט היא להיות קנייני, קל יותר לשמור אותו כך על ידי הפיכתו לבינארי. אבל זה לא תמיד המצב.
פורמט התמונה XCF של GIMP הוא פורמט פתוח שהוא גם בינארי. הפרויקט כולל א תיאור מפורט כיצד הפורמט מחזיק את הגרפיקה, הטקסט והשכבות המרכיבות קובץ GIMP כ-raw bits ובייטים (מוצגים להלן). מפתחים יכולים להשתמש בזה כדי לקודד את היישום שלהם כך שיישומים חיצוניים כמו ImageMagick כיצד לחתוך ולשנות בקלות תמונות בלינוקסאם אתה רוצה לבצע חיתוך ושינוי גודל בסיסיים בלינוקס -- אולי כדי לעזור בפרויקט או להקל על העלאת תמונה לרשתות החברתיות המועדפות עליך -- אז נסה את אלה... קרא עוד ערכת כלים יכולה לייבא אותם.

לעומת זאת, הפורמט החדש ביותר של Microsoft Visio (VSDX) הוא פורמט מבוסס XML (ולכן מבוסס טקסט). זה מפרסם התייחסות מפורטת של ההרכב של קבצים אלה. עם זאת, מסמך ההתייחסות מציין שלמיקרוסופט "יש פטנטים שעשויים לכסות את היישום שלך" של תמיכת .VSDX. בנוסף ספריית הקונגרס מציין שימוש במפרט VSDX "אינו מבטיח רישיון ללא תמלוגים של כל הפטנטים הרלוונטיים" אם אתה משתמש בו. זוהי דרך נוספת לומר שאתה יכול להטיל את הקוביות ולכלול את התמיכה הזו. אבל ייתכן שמיקרוסופט תרצה או לא תרצה שתשלם על זה מאוחר יותר, תלוי עד כמה היא מתחרה עם Visio.
אם אתה חושב שהם מסובכים, מה דעתך על פורמט ODT הלא שטוח. זה קובץ בפורמט ZIP (בינארי ופתוח, אלא אם כן אתה משתמש גם בהצפנה שלו) שמכיל טקסט של מסמך (content.xml, פורמט מבוסס טקסט פתוח) וגרפיקה (למשל PNG, בינארי אך פתוח).

עד כמה חשובים תבניות הקבצים, באמת?
זו שאלה קשה. מצד אחד, מערכות הפעלה מסוימות כמו iOS ניסו לבודד משתמשים מהתמודדות עם קבצים בכלל. יש לך את האפליקציה שיצרה את הקובץ כדי לפתוח אותו, למי אכפת מהמבנה שלו או מה הסיומת שלו? עם זאת, ארגונים רבים (במיוחד ממשלות) דחפו לוודא שהנתונים הציבוריים יהיו בפורמט פתוח.
אם אתה אידיאליסט תוכנה (לא שיש בזה משהו לא בסדר), אז בזמן שאתה בוחן אפליקציות חדשות ודא שהן בפורמט פתוח (רצוי) מבוסס טקסט. אם אתה רק רוצה להתחיל לעבוד, ייתכן שפורמטים קנייניים לא יהיו בעיה עבורך.
מה אתה חושב? האם אתה דורש שהמידע שלך יהיה בפורמטים פתוחים מבוססי טקסט שתוכל להמיר ולאמת? או האם כל הפורמטים שבהם המפתחים משתמשים, קנייניים או לא, מספיקים לך? ספר לנו למטה בתגובות!
קרדיט תמונה: Edilus/Shutterstock
אהרון היה עמוק בטכנולוגיה כאנליסט עסקי ומנהל פרויקטים במשך חמש עשרה שנים, והיה משתמש נאמן באובונטו במשך כמעט זמן רב (מאז ה-Breezy Badger). תחומי העניין שלו כוללים קוד פתוח, יישומים לעסקים קטנים, אינטגרציה של לינוקס ואנדרואיד, ומחשוב במצב טקסט רגיל.