UTF-16 – הבדלי גרסאות

תוכן שנמחק תוכן שנוסף
YurikBot (שיחה | תרומות)
מ רובוט מוסיף: da:UTF-16
דרור ש (שיחה | תרומות)
מ שינוי כותרות מ"קידוד" ל"תיאור הקידוד" ומ"שימוש במחשבים" ל"שימושים במערכות קיימות" ראה דף שיחה על UTF-32
שורה 7:
ברם, כעבור כמה שנים השתנו הדברים תכלית שינוי. לצורך תאימות לאחור הוחלט על הקצאת מקומות לתווים מחוברים, כלומר במקום לקודד את האות ē כשני תווים, האות e ולאחריה קו עליון מתחבר, לקודד את כל הסימן הזה כתו אחד. כך נהיה צורך להקצות אלפי מקומות לקידוד ההברות הקוריאניות (אשר הועברו למקומות U+AC00 עד U+D7FF, ואזור השימוש הפרטי הועבר ל־U+D800 עד U+FAFF), והתחזיות לשימוש העתידי של קידוד 16 סיביות התבדו. מתכנני יוניקוד הבינו כי 65,536 תווים אינם מספיקים לכל הצרכים, וכך נולד UTF-16, שהוא הרחבה של גרסה 1 של יוניקוד.
 
==תיאור הקידוד==
==קידוד==
 
UTF-16 פועל כך: ב־2,048 תווים מתוך ה־65,536 הראשונים משתמשים כדי למען 1024×1024, כלומר 1,048,576, תווים נוספים. הקודים האלה הם U+D800 עד U+DBFF לחצי הראשון ו־U+DC00 עד U+DFFF לחצי השני. צירוף של קוד מהחצי הראשון ולאחריו קוד מהחצי השני משמש למיעון תו יוניקוד מעבר ל־U+FFFF, כלומר מ־U+10000 עד U+10FFFF. למשל, הצירוף D84C DFB4 ממען את התו U+233B4 (שהוא סימן סיני נדיר). מנגנון זה נקרא מנגנון '''ממלאי המקום''' או באנגלית surrogates.
שורה 13:
תחת קידוד זה, יוניקוד מגרסה 2 ואילך יכולה להכיל 1,112,064 תווים, די והותר לכל שימוש עתידי.
 
==שימושים במערכות קיימות==
==שימוש במחשבים==
 
בקידוד UTF-16 משתמשים מערכות [[Windows]] (החדשות יותר - NT ו־2000 ו־XP) ומצע [[Java]]. אלה השתמשו במקור ביוניקוד המקורי של 16 סיביות ועברו ל־UTF-16 לאחר מכן. ב־Windows ניתן לאחסן קובצי טקסט בקידוד UTF-16 או [[UTF-8]], אך בזיכרון יימצא הטקסט תמיד כ־UTF-16. ב־Windows הבתים יופיעו בסדר little-endian, בשל השימוש של מעבדי [[אינטל]] בסדר זה, ואילו ב־Java הם יהיו בסדר big-endian.