«

»

Feb 03

קידוד

קידוד

אייקון - קידוד
 
 

רקע תאורטי:

 

קידוד זה תהליך של החלפת אותיות – character לסדרה של ביטים.

כך, לדוגמה, אפשר להעביר מסרים ולשדר אותם בין רשתות תקשורת.

ישנם מספר שיטות קידוד שהומצאו ומשתמשים בהם:

 

ASCII:

שיטת הקידוד מבוססת על השפה האנגלית והיא תומכת באותיות שלה, היא מגדירה סה”כ 128 אותיות, שלכל אות יש מיפוי לקוד ייחודי לה בן 7 ביטים:

- 94 אותיות שאפשר להדפיס.

- 33 אותיות לבקרה כמו ה null וה End Of Text.

- וה Space שנחשב בלתי נראה.

ב ascii השתמשו ב 7 ביטים ובביט השמיני השתמשו בשביל אותיות בהתאם לאזור. המספר 224 הכיל את הקידוד של א’ בישראל ושל משהו אחר בקידוד של מערב אירופה,

החיסרון:

זה גרם לבעיות בהעברת טקסט ממערכות שונות. לכן נוצר יוניקוד.

 

UNICODE:

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

- כמעט כל מערכות ההפעלה החל מ windows 2000 משתמשת ביוניקוד.

- יוניקוד תומכת ביותר תווים מ ASCII, גרסאת Unicode-2 תומכת ביותר ממיליון תווים.

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

יוניקוד אינו מפרט איך לייצג את הערכים של התווים האלה במחשב, צריך שיטה שבאמצעותה ניקח את המספר ונשמור אותו במחשב כרצף של בתים – שיטה זאת נקראת קידוד תווים:

מקודדים אותו בכמה פורמטים של ביטים: 8, 16 ו 32. שנקראים UTF-8,16,32.

 

UTF-8:

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

יתרונות:

- UTF-8 הינו קידוד תווים באורך משתנה ליוניקוד ניתן לקודד בו כל תו המצוי בתקן היוניקוד על ידי שימוש באחד עד ארבעה בתים. ולכן הוא גם יעיל בזיכרון.

- מקודד כמו ASCII ולכן כל הקודים של 128 ומטה הם זהים. ASCII מקודד ע”י בית אחד. לכן נשאלת השאלה איך יודעים אם בית ב UTF-8 מייצג תו אחד או שהוא רק בית אחד מ 4 בתים שמייצגים תו אחד, כל בית שמתחיל ב 0 אומר שהבית הוא יחיד ומייצג תו ולכן תואם ל ASCII.

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

החיסרון:

אנחנו משתמשים בכל בית בביט אחד או יותר כסימניות ולכן זה מוביל לבזבוז מקום:

- משתמשים בשיטת קידוד זו באינטרנט.

- שפת התכנות Java תומכת בקריאה וכתיבה של מחרוזות המקודדות ב-UTF-8, דרך המחלקות InputStreamReader ו OutputStreamWriter. לשימוש ב Jave Native Interface ולשם הטמעת קבועים בקובצי class משתמשת Java בגרסה קצת שונה של UTF-8 המכונה UTF-8 משופר.

 

UTF-16:

הוא קידוד של כל תו יוניקוד באמצעות קבוצה אחת או שתיים של 16 סיביות, כלומר 2 או 4 בתים לכל תו, בהתאם לתו.

משתמשים בשיטת בקידוד זו ב java וב windows.

 
 

בהצלחה !

Leave a Reply

Your email address will not be published.

אתם יכולים להשתמש באפשרויות ותגי ה-HTMLהבאים: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>