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

תוכן שנמחק תוכן שנוסף
Addbot (שיחה | תרומות)
מ בוט: מעביר קישורי בינויקי לויקינתונים - d:q184759
תרגום לאנגלית של מושג מודגש צריך להיות אף הוא מודגש ובסוגריים.
שורה 29:
===מערכת תווים מקודדת===
 
'''מערכת תווים מקודדת''', באנגלית(ב[[אנגלית]]: '''Coded Character Set,''') מגדירה כיצד לייצג רפרטואר תווים באמצעות שלמים לא-שליליים המכונים "נקודות קוד". אנו מתאימים לכל תו מספר שייצג אותו מעתה והלאה. לדוגמה, ב[[יוניקוד]] מותאמת האות העברית אל"ף למספר 1488. כאן אנו מבצעים את ההתאמה עליה דיברנו כאשר הגדרנו מהו קידוד תווים. ב[[מדעי המחשב]] קיימת הנחה סמויה שההתאמה בקידודי התווים השונים הינה תמיד בין תווים למספרים שלמים לא-שליליים.
 
מספר יכול לייצג תו אחד בלבד, אסור שיקרה מצב בו מספר אחד מייצג תווים רבים, זה ייצור עמימות ולא יאפשר פענוח אמין של הטקסט לאחר הקידוד. לעומת זאת, ייתכן ומספרים שונים ייצגו את אותו התו, תופעה זו מתרחשת ב[[יוניקוד]], למשל, מטעמי תאימות לאחור לקידודים ישנים יותר.
שורה 37:
===צורת קידוד תווים===
 
'''צורת קידוד תווים''', באנגלית(ב[[אנגלית]]: '''Character Encoding Form (CEF)'''‎,) מגדירה כיצד יש להמיר את נקודות הקוד, הערכים המספריים המוגדרים במערכת התווים המקודדת, ל"ערכי קוד", רצף שלמים בגודל מוגבל.
 
[[מחשב]]ים מייצגים מספרים ב[[בסיס בינארי|צורה בינארית]] תוך שימוש במספר קבוע של [[סיבית|סיביות]]. מספר הסיביות משתנה ממחשב למחשב. משום שמספר הסיביות המשמש להצגתו של מספר, קבוע, ניתן לייצג רק מספרים עד לגודל מסוים. לדוגמה, מחשב המשתמש ביחידות של 16 סיביות לשם ייצוג מספר יוכל לייצג באופן ישיר רק את המספרים בין 0 ל-65,535. ערכן של נקודות הקוד שרירותי ואינו מוגבל על ידי אילוצים של ייצוג בסיביות ואכן בקידודים מסוימים הוא בין 0 ל-1.4 מיליון למשל. כדי לייצג מספרים אלה, ניתן לנקוט בדרך העקיפה של שימוש במספר יחידות של 16 סיביות לשם ייצוגו של מספר בודד.
שורה 47:
===סכימת קידוד תווים===
 
'''סכימת קידוד התווים''', באנגלית(ב[[אנגלית]]: '''Character Encoding Scheme (CES)'''‎,) מגדירה כיצד ימופו ערכי הקוד, השלמים שגודלם מוגבל, לרצף של אוקטטות, או במילים אחרות [[בית (מחשב)|בתים]] שהם יחידות של 8 סיביות, כדי לאחסנם במערכת מבוססת אוקטטות, או לשדרם ברשת מבוססת אוקטטות.
 
לרב, אין צורך בציון מיוחד משום שמראש בחרנו בערכי הקוד כך שניתן יהיה לייצגם על ידי 8 סיביות או שקבענו כיצד יש להשתמש ביחידות של 8 סיביות כדי לייצגם. ב[[יוניקוד]] למשל, סכימת קידוד התווים פשוטה למדי ומציינת לרב רק אם יש צורך בהצגת ערכי הקוד בצורה של big-endians או little-endians, וגם זה לא נדרש כאשר משתמשים ב-[[UTF-8]]. למרות זאת, לעתים נחוץ שימוש בסכימות קידוד תווים מתקדמות יותר, המשתמשים בערכי מילוט לשם החלפה בין מספר סכימות פשוטות יותר (כך ב ISO 2022), ובין סכימות כיווץ, המנסות לצמצם את מספר הבתים בו נעשה שימוש לכל נקודת קוד (לדוגמה, סכימת הכיווץ הסטנדרטית ליוניקוד,Standard Compression Scheme for Unicode (SCSU), BOCU, ו-Punycode).