Static Wikipedia February 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Web Analytics
Cookie Policy Terms and Conditions UTF-16 - ויקיפדיה

UTF-16

מתוך ויקיפדיה, האנציקלופדיה החופשית

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

תוכן עניינים

[עריכה] רקע

ב־1990, כאשר הוחל בתקינת תקן יוניקוד לקידוד כל כתבי האנושות באופן אחיד, עלה במחשבה כי אין צורך אלא בהרחבת הקידוד לכל תו מבית אחד (8 סיביות) ל־2 בתים (16 סיביות). קידוד כזה נותן מקום ל־65,536 תווים, והמייסדים של יוניקוד סברו כי מספר זה יספיק. תוכנן כי אותיות עם אקצנטים והברות קוריאניות יקודדו באמצעות יסודות מתחברים (combining characters), דבר שיחסוך במקומות, וכי תווים היסטוריים (כמו גותית ואוגריתית) יקודדו בתוך אזור השימוש הפרטי (private use area) של יוניקוד, במקומות U+A000 עד U+FAFF (מספרים בהקסדצימלית). כך היה המצב בגרסה 1 של תקן יוניקוד.

ברם, כעבור כמה שנים השתנו הדברים תכלית שינוי. לצורך תאימות לאחור הוחלט על הקצאת מקומות לתווים מחוברים, כלומר במקום לקודד את האות ē כשני תווים, האות 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.

תחת קידוד זה, יוניקוד מגרסה 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.

[עריכה] השפעה על קידודי יוניקוד האחרים

קידוד UTF-8 יכול למען בעיקרון עד 2,147,483,647 תווים, עד U+7FFFFFFF. תקן ISO 10646, שהיה תחילה נפרד מיוניקוד אך אוחד איתו אחר־כך, מכיל צורת קידוד של 32 סיביות לכל תו היכולה למען מספר זהה לזה של UTF-8. ואולם, כאשר UTF-16 יצאה לאור, הוחלט כי תקני יוניקוד ו־ISO 10646 יגבילו את תחום התווים עד לתחום האפשרי של UTF-16, כלומר עד U+10FFFF. כתוצאה מכך, צורת הקידוד האחרות של יוניקוד, UTF-8 (אחד עד ארבעה בתים לכל תו) ו־UTF-32 (ארבעה בתים לכל תו), על אף שעקרונית הם יכולים למען למעלה משני מיליארד תווים, מוגבלים בגרסאות הנוכחיות של יוניקוד למיעון קצת מעל למיליון תווים.

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu