דחיסת נתונים – הבדלי גרסאות

תוכן שנמחק תוכן שנוסף
מאין תקציר עריכה
←‏טכניקות דחיסה: יותר נכון (ז' נפוצה כאחוז, ג' יותר מאחוז וחצי)
שורה 26:
 
====קידוד גודל משתנה וקוד הופמן====
אותיות מסוימות ב[[אלפבית]] שכיחות יותר מאותיות אחרות. כך האותיות [[י|יוּד]] ו-[[ו|וו]] נפוצות בעברית פי עשרה לערך מהאותיות [[צ]] ו-[[גז]]. אם נרצה לייצג טקסט נוכל להקטין את גודלו תוך שימוש בקוד קצר לאותיות נפוצות וקוד יותר ארוך לאותיות נדירות, כפי שהדבר נעשה ב[[קוד מורס]]. השיטה הנפוצה ביותר לדחיסה כזו קרויה [[קוד הופמן]]. רוב פורמטי הדחיסה עושים שימוש באלגוריתם זה.
 
רוב קובצי הטקסט משתמשים בקידוד [[ASCII]] על מנת לייצג את התווים שבהם. לפי קידוד זה לכל תו יש ערך בעל 7 ביטים (כלומר סה"כ 2 בחזקת 7 - 128 תווים שונים), או בעל ערך של שמונה ביטים כאשר הביט השמיני הוא ביט זוגיות. בקבצים כאלה כדי לשמור n תווים בעצם כותבים 8*n ביטים. בהרבה מקובצי הטקסט לא משתמשים בכל התווים ובנוסף לתווים מסוימים יש סיכוי יותר גדול להופיע מאשר לתווים אחרים (למשל האותיות י,ו מופיעות הרבה יותר מאשר צ' או ט'). כלומר, קודם כל ניתן לייצג את כל התווים בקובץ מסוים בפחות ביטים - למשל כדי לייצג שמונה תווים צריך סה"כ 3 ביטים לכל תו. חוץ מכך, ניתן לתת לתווים מסוימים, שמופיעים יותר פעמים, קוד קצר יותר ולעומת זאת תווים שמופיעים לעתים רחוקות ניתן קודים ארוכים יותר.