קובץ בינארי – הבדלי גרסאות

מתוך ויקיפדיה, האנציקלופדיה החופשית
תוכן שנמחק תוכן שנוסף
VolkovBot (שיחה | תרומות)
מ בוט מוסיף: cs:Binární soubory
מ תקלדה
שורה 1: שורה 1:
'''קובץ בינארי''' הינו קובץ [[מחשב]], המכיל מידע שאינו רק [[קובץ טקסט|טקסט פשוט]] המוצג כפי שהוא, אלא גם תווי בקרה, או שחלק מהתווים בו משמשים כהוראות ל[[תוכנה]]. למשל, קובץ תוכנה הינו קובץ המכיל מידע בינארי.
'''קובץ בינארי''' הינו קובץ [[מחשב]], המכיל מידע שאינו רק [[קובץ טקסט|טקסט פשוט]] המוצג כפי שהוא, אלא גם תווי בקרה, או שחלק מהתווים בו משמשים כהוראות ל[[תוכנה]]. למשל, קובץ תוכנה הינו קובץ המכיל מידע בינארי.


קבצים רבים המכילים מידע בינארי מכילים גם טקסט. קובץ המכיל רק טקסט, מכונה [[קובץ טקסט]], או "קובץ טקסט פשוט". כאשר במחשב מדגם מסוים נהוגה שיטת קידוד מסוימת, כגון [[ASCII]] או [[EBCDIC]], קובץ טקסט יכיל רק את התווים הניתנים להדפסה של שיטת קידוד זו, ואילו קובץ בינארי יכיל את כל התווים האפשרים (בהתאם לגודל תו בשיטה). למעשה, חלק מהנתונים בקובץ אינם תווים, אלא מספרים (בנקודה קבועה או [[נקודה צפה]]) [[פקודת מכונה|פקודות מכונה]] ועוד. הפרירוש של קובץ הבינארי הוא בידי הקורא (אדם או תוכנית מחשב), על-פי מידע שיש לו על מבנה הקובץ.
קבצים רבים המכילים מידע בינארי מכילים גם טקסט. קובץ המכיל רק טקסט, מכונה [[קובץ טקסט]], או "קובץ טקסט פשוט". כאשר במחשב מדגם מסוים נהוגה שיטת קידוד מסוימת, כגון [[ASCII]] או [[EBCDIC]], קובץ טקסט יכיל רק את התווים הניתנים להדפסה של שיטת קידוד זו, ואילו קובץ בינארי יכיל את כל התווים האפשרים (בהתאם לגודל תו בשיטה). למעשה, חלק מהנתונים בקובץ אינם תווים, אלא מספרים (בנקודה קבועה או [[נקודה צפה]]) [[פקודת מכונה|פקודות מכונה]] ועוד. הפירוש של קובץ בינארי הוא בידי הקורא (אדם או תוכנית מחשב), על-פי מידע שיש לו על מבנה הקובץ.


==מבני קובץ==
==מבני קובץ==

גרסה מ־21:02, 8 בפברואר 2009

קובץ בינארי הינו קובץ מחשב, המכיל מידע שאינו רק טקסט פשוט המוצג כפי שהוא, אלא גם תווי בקרה, או שחלק מהתווים בו משמשים כהוראות לתוכנה. למשל, קובץ תוכנה הינו קובץ המכיל מידע בינארי.

קבצים רבים המכילים מידע בינארי מכילים גם טקסט. קובץ המכיל רק טקסט, מכונה קובץ טקסט, או "קובץ טקסט פשוט". כאשר במחשב מדגם מסוים נהוגה שיטת קידוד מסוימת, כגון ASCII או EBCDIC, קובץ טקסט יכיל רק את התווים הניתנים להדפסה של שיטת קידוד זו, ואילו קובץ בינארי יכיל את כל התווים האפשרים (בהתאם לגודל תו בשיטה). למעשה, חלק מהנתונים בקובץ אינם תווים, אלא מספרים (בנקודה קבועה או נקודה צפה) פקודות מכונה ועוד. הפירוש של קובץ בינארי הוא בידי הקורא (אדם או תוכנית מחשב), על-פי מידע שיש לו על מבנה הקובץ.

מבני קובץ

קובץ בינארי נחשב בדרך כלל כמורכב מרצף של בתים, כלומר ספרות בינאריות המאורגנות בקבוצות של שמונה. קובץ בינארי טיפוסי מכיל בתים המיועדים להתפרש שלא כתו טקסט פשוט. קובצי תוכנה שעברו הידור, הם דוגמה מצויה לקובץ בינארי, אך לקבצים כאלו מקובל לקרוא "בינאריים" (Binaries), בעיקר בקרב תוכניתנים או באתרי הורדות, כדי להבדיל בין הקובץ המהודר לקובץ קוד מקור. דוגמאות נוספות לקבצים בינאריים: תמונות, מוזיקה, קבצים דחוסים, או למעשה כל סוג קובץ המכיל יותר מאשר רק טקסט פשוט.

קבצים בינאריים מסוימים מכילים "כותרת", קטעים של מידע על, המשמשים תוכנות מחשב לפירוש המידע שבקובץ. לדוגמה, קובץ GIF יכול להכיל מספר תמונות, והכותרת משמשת כדי לזהות ולהגדיר כל מקטע תמונה. קובץ בינארי שאינו מכיל כל "כותרת", מכונה גם "קובץ בינארי שטוח".

טיפול בקובץ בינארי

כדי לאפשר מעבר קבצים בינאריים דרך מערכות (כגון דואר אלקטרוני) שמאפשרות מעבר של תווים מסוימים בלבד, בדרך כלל ממירים את הקובץ לייצוג בטקסט פשוט, תוך שימוש בקידוד מתאים (כגון Base64). החיסרון בקידוד כזה הוא הגדלת נפח הקובץ ב-30% בממוצע במהלך ההמרה, וכן הצורך בפיענוח בצד המקבל על ידי המרה חוזרת מייצוג הטקסט לקובץ בינארי.

Microsoft Windows מאפשרת להוסיף פרמטר בקריאות מערכת שיציין האם הקובץ בינארי או טקסטואלי. בUnix אין אפשרות כזו והמערכת תתייחס לכל קובץ כקובץ בינארי. הדבר משקף את העובדה שהחלוקה בין קבצים בינאריים לטקסטואליים היא די מלאכותית, ומתייחסת בעיקר ליכולת קריאת הקובץ בקלות על ידי אדם (Human readable) אך מבחינת המחשב אין הבדל בין קובץ לקובץ.

הצגת קובץ בינארי

כשמציגים קובץ בינארי בעזרת עורך טקסט רגיל, כל שמונה סיביות מפורשות כתו טקסט (במצב רגיל), והתוצאה תהיה טקסט חסר משמעות, בדרך כלל. כשפותחים קובץ בינארי על ידי תוכנה אחרת, ייתכנו תוצאות אחרות, למשל, תוכנה אחת תפרש את תוכן הקובץ כמספרים מ-0 עד 255 (טווח המספרים האפשרי בעזרת 8 סיביות) ותציג על המסך טור של מספרים לפי תוכן הקובץ. תוכנה אחרת תפרש את הקובץ כמכיל קודים לייצוג צבעים, ותציג על המסך תמונה המורכבת מצבעים לפי תוכן הקובץ. אם מערכת ההפעלה יכולה להתייחס לקובץ כקובץ הרצה, היא תנסה לפרש את תוכן הקובץ כסידרה של הוראות בשפת מכונה או בשפה אחרת בה היא תומכת (כגון קובץ אצווה או Java). דוגמאות אלה מראות שאין לרצף הבינארי משמעות בפני עצמו, אלא כל תוכנה (או מערכת הפעלה) יכולה לפרש את התוכן בצורה אחרת.

כדי להציג ולערוך בצורה נוחה קבצים בינאריים במעין עורך טקסט, ללא שימוש בתוכנה הייעודית לתוכן הקובץ, קיימים עורכים מסוג המכונה "עורך-הקסה" (Hex editor) או "עורך בינארי", שמציגים את הערכים המספריים של תוכן הקובץ, במקום לנסות ולתרגם את התוכן לטקסט כפי שעושים עורכי טקסט רגילים. לעורכים רבים מסוג זה יש אפשרות להציג במקביל מספר ייצוגים של תוכן הקובץ, כשהייצוגים המקובלים הם: בסיס הקסדצימלי (Hex), בסיס עשרוני, בסיס בינארי וייצוג ASCII, שלמעשה מציג את התוכן כפי שעורך טקסט פשוט היה מפרש אותו לטקסט. בדרך כלל, משנים את תוכן הקובץ בעורכים אלו על ידי שינוי הערכים ההקסדצימליים המוצגים.

ראו גם