מהו יוניקוד: מדריך מלא, שימושים וקידודים

העדכון אחרון: 20 אוגוסט 2025
מחבר: TecnoDigital
  • יוניקוד מקצה נקודת קוד ייחודית לכל תו ומסנכרן את הרפרטואר שלו עם ISO/IEC 10646.
  • UTF-8, UTF-16 ו-UTF-32 מקודדים את אותם תווים ומאפשרים המרה ללא אובדן נתונים.
  • מאפייני נורמליזציה, Bidi ו-UCD מבטיחים השוואה, סידור ורינדור עקביים.
  • אימוץ יוניקוד (רצוי UTF-8 באינטרנט) מונע שחיתות ומקל על הבינלאומיות.

איור כללי על יוניקוד

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

תקן זה נוצר כדי להתגבר על המגבלות של מערכות תווים ישנות ( מערכת ASCII , דפי קוד, EBCDIC וכו'), אשר לא עמדו בדרישות או לא היו תואמות זו לזו, וכיום הוא מסונכרן עם ISO/IEC 10646, מתחזק אלגוריתמים (כגון התקן הדו-כיווני) ומגדיר מאפיינים וכללי נרמול כך שהכל יעבוד באופן עקבי.

מה זה יוניקוד ולמה זה כל כך חשוב?

יוניקוד הוא תקן קידוד תווים אוניברסלי ומתפתח ללא הרף , המתאר כל תו עם שם, נקודת קוד וקבוצת מאפיינים (סקריפט, קטגוריה, כיווניות, רישיות וכו'). הוועדה הטכנית של יוניקוד (UTC), בתוך קונסורציום יוניקוד, שומרת עליו מסונכרן עם תקן ISO/IEC 10646.

מטרתה היא אוניברסליות, אחידות וייחודיות : רפרטואר רחב המאפשר חילופי טקסט רב-לשוני באופן חד משמעי, עם כללים ברורים וניתנים לשחזור. הודות לכך, טכנולוגיות מודרניות (מערכות הפעלה, דפדפנים, XML, Java, מסדי נתונים) יכולות לשלב כתב לטיני וערבי, אידיאוגרמות CJK, אימוג'ים וסמלים טכניים או מוזיקליים באותו מסמך.

תווים, גליפים ונקודות קוד

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

הסימון הרגיל לנקודת קוד הוא U+XXXX בהקסדצימלי . דוגמאות להמחשה מהחומר שנותח: האות הקטנה 'l' היא U+006C, האות הקטנה 'ü' המורכבת מראש היא U+00FC, ה-'é' היא U+00E9 והאות היוונית בטא: האות הגדולה היא U+0392 והאות הקטנה U+03B2 (בחלק מהטקסטים 'β' מצוטט עם U+0392, אך קוד זה מתאים לאות הגדולה 'Β').

מרחב הקוד של יוניקוד מכיל 1.114.112 מיקומים אפשריים (עד U+10FFFF) , המאורגנים כך שיכסו וסווגו את כל מערכות הכתיבה והסמלים, עם עשרות אלפי מיקומים יעילים וגדלים בכל גרסה.

תוכניות, אזורים וגושים

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

המישורים הרלוונטיים ביותר : המישור הרב-לשוני הבסיסי (BMP, מישור 0) מאגד כמעט את כל האלפביתים המודרניים וסמלים רבים; המישור הרב-לשוני המשלים (SMP, מישור 1) מאחסן כתבים היסטוריים וסמלים טכניים (למשל, מוזיקליים ומתמטיים); המישור האידיאוגרפי המשלים (SIP, מישור 2) מרחיב את האידיאוגרמות של CJK; מישור 14 (SSP) כולל תוויות מיוחדות; ומישורים 15 ו-16 מיועדים לשימוש פרטי.

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

  מדריך מלא לקניית מחשב בתשלומים בספרד

אידיאוגרמות CJK ופרויקט Unihan

אידיאוגרמות מזרח אסייתיות (האן) מאוחדות ביוניקוד עם וריאציות סגנוניות לפי אזור , אך כולן מתייחסות לאותו תו מופשט. ניהולן מטופל על ידי קבוצת המדווחים האידיאוגרפיים (IRG), קבוצת ISO/IEC JTC1/SC2/WG2 עם ייצוג מסין, יפן, קוריאה, וייטנאם, הונג קונג, מקאו, סינגפור, ארה"ב ואחרות.

מסד הנתונים של Unihan מאגד מידע עזר (קריאות, משמעויות, שקילות) החיוני לטיפול באידיאוגרמות אלו בשפות שונות ובתקנים היסטוריים או תאגידיים.

בלוקים והרחבות עיקריים של CJK :

  • אידיאוגרפים מאוחדים של CJK (BMP, U+4E00–U+9FFF)20.992 תווים נפוצים.
  • הרחבה A (BMP, U+3400–U+4DBF)6.592 אידיאוגרמות פחות תכופות.
  • הרחבות B–Hב-SMP/SIP/TIP, הם מצטברים לעשרות אלפים נוספים (B: U+20000–U+2A6DF, 42.720; C: U+2A700–U+2B73F, 4.154; D: U+2B740–U+2B81F, 222; E: U+2B820–U+2CEAF, 5.762; F: U+2CEB0–U+2EBEF, 7.473; G: U+30000–U+3134F, 4.939;
  • בלוקים נוספים של CJK קשוריםרדיקלים של קאנגשי (U+2F00–U+2FDF), סמלים ופיסוק של CJK (U+3000–U+303F), תאימות ופורמטי תאימות, תוספת אידיאוגרמה של תאימות וכו'.

יוניקוד צופה כי לשילוב אידיאוגרמות לא יהיה סוף מוחלט ושוקלת מנגנונים כגון רצפי תיאור אידיאוגרפיים לייצוג סמלים לא מקודדים על ידי פירוקם לרכיבים קיימים (עם אזהרות: ללא פירוק קנוני או ערבויות בפעולות כגון חיפוש או סידור).

צורות קידוד: UTF-8, UTF-16 ו-UTF-32

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

UTF-8 הוא פורמט קידוד באורך משתנה, מכוון בתים, התואם ל-ASCII בטווח U+0000–U+007F בבייט בודד. התקן הנוכחי משתמש ב-1 עד 4 בתים לכל תו; חלק מהטקסטים הישנים יותר מזכירים 1–6, אך ביוניקוד המודרני זהו 1–4. זהו הפורמט הדומיננטי באינטרנט.

UTF-16 משתמש ביחידות של 16 סיביות

(יחידת קוד אחת או שתיים לכל תו) : רוב תווי ה-BMP מתאימים ליחידה אחת; תווים משלימים משתמשים בזוגות חלופיים בטווח U+D800–U+DFFF.

UTF-32 הוא באורך קבוע: 4 בתים לכל תו, פשוט אך דורש מקום רב; שימושי כאשר אינדוקס ישיר של תווים חשוב והזיכרון אינו מהווה בעיה.

כיצד מפוזרים ביטים ב-UTF-8

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

טווח יוניקוד תבנית סיביות בתים
U+0000..U+007F 0xxxxxxx 1
U+0080..U+07FF 110 שנה 10xxxxxx 2
U+0800..U+FFFF 1110zzzz 10yyyyyy 10xxxxxx 3
U+010000..U+10FFFF 11110uuu 10uuzzzz 10yyyyyy 10xxxxxx 4

יתרון מרכזי של UTF-8 הוא שהוא נמנע מבעיות סדר בתים (אנדיאננס) ומאפשר עיבוד יעיל ביותר של זרמי טקסט, בנוסף לתאימות לאחור עם ASCII.

סכמות קידוד, קצה ו-BOM

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

  • UTF-8: חוסר גבולות אינו חל. ניתן לשאת אותו סימן סדר בייט (BOM) כרמז, למרות שהוא אינו נדרש או מומלץ כברירת מחדל.
  • UTF-16גרסאות BE/LE (big/little-endian) ו-BOM אופציונלי (אם חסר ולא מוגדר על ידי הפרוטוקול, מניחים big-endian).
  • UTF-32גרסאות BE/LE עם כללים אנלוגיים; מותר להשתמש ב-BOM כסימן הזמנה.
  דוגמאות לתרמודינמיקה בחיי היומיום

ישנן גם גרסאות ספציפיות כגון UTF-16BE/UTF-16LE ו-UTF-32BE/UTF-32LE (ללא BOM לפי המוסכמה), וקידודי תאימות היסטוריים אחרים כגון UTF-7 או UTF-EBCDIC, בנוסף ל-GB18030 (מקבילה בסינית ל-UTF-8 עם תמיכה בסינית פשוטה ומסורתית).

נורמליזציה, קומפוזיציה ושקילות

ניתן לייצג תווים רבים כתוויות מורכבות מראש או כרצפים של סימני בסיס + סימני שילוב . דוגמאות קלאסיות מהחומר המתוקן: ה-'Ä' המורכב מראש הוא U+00C4, בעוד שהצורה המפורקת היא 'A' (U+0041) + טריאזיס (U+0308). את ה-'ỗ' הוייטנאמית ניתן לייצג כ-'o' (U+006F) + סירקוס (U+0302) + טילדה (U+0303).

יוניקוד מגדיר צורות סטנדרטיות ושני סוגים של שקילות : קנוניות (אותו תוכן מהותי) ותאימות (צורות שעשויות להיראות זהות אך יש ביניהן הבדלים סמנטיים). סטנדרטיזציה מבטיחה השוואה אמינה של מחרוזות ומפחיתה כפילויות.

אלגוריתם דו-כיווני ותווים מיוחדים

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

מחלקות של נקודות קוד שצריכות להיות ידועות בהתאם לחומר שהתקבל: תווים גרפיים (אותיות, סימנים, סמלים), עיצוב (תווים בלתי נראים המשפיעים על העיבוד: מעבר שורה U+2028, מעבר פסקה U+2029, רווח קשיח U+00A0), קודי בקרה בירושה לתאימות (טווחים U+0000–U+001F, U+007F, U+0080–U+009F), שימוש פרטי, מיקומים שמורים, תחליפים (U+D800–U+DFFF עבור UTF-16) ותווים שאינם תווים (U+FFFE, U+FFFF בכל מישור).

יוניקוד, ISO/IEC 10646 ותקנים אחרים (ASCII, ANSI, דפי קוד)

יוניקוד מסונכרן עם ISO/IEC 10646 (UCS) ושומר על מיפויים לתקנים קודמים (ASCII, ISO 8859-1, ANSI Z39.64, JIS X 0208, KS X 1001, GB 2312, GB 18030, HKSCS, CNS 11643 וכו'), בנוסף לשמירת מקומות לשימוש פרטי על ידי יצרנים.

ASCII לעומת יוניקוד : ASCII הוא סט תווים בן 7 סיביות עם 128 תווים , מספיק לאנגלית בסיסית, אך לא מספיק לשפות עם סימני דיאקריטיקה, אידיאוגרמות או אימוג'ים . יוניקוד מכסה יותר מ-140.000 תווים וממשיך לגדול, עם קידוד 8/16/32 סיביות לפי פורמט UTF-12.

ANSI ודפי קוד : 'ANSI' מתייחס בדרך כלל לדפי קוד של 8 סיביות של Windows מוגבלים ולא תואמים זה לזה. מחשב המריץ OEM-Latin II ופותח טקסט ב-IBM EBCDIC-Cyrillic יראה תווים שגויים. יוניקוד מתגבר על בעיה זו באמצעות סט תווים יחיד והמרות ללא אובדן נתונים בין הצורות שלו.

הטמעה על מערכות (Windows, Solaris) והמרה

Windows משתמש באופן פנימי ב-UTF-16 עבור ממשקי ה-API המודרניים שלו ומציע תכונות כמו MultiByteToWideChar ו- WideCharToMultiByte להמרה בין Unicode לדפי קוד (SBCS/DBCS/MBCS). אם תיאלץ להמיר לדף קוד, ייתכן אובדן נתונים אם הוא לא יכול לייצג את כל התווים.

יישומים חדשים ב-Windows צריכים להשתמש ב-UTF-16 באופן פנימי ולהשאיר את ההמרה לקצוות (קלט/פלט, פרוטוקולים), ובכך למזער את השחיתות. למרות זאת, Windows שומר על תאימות עם דפי קוד כאשר הדבר בלתי נמנע.

על פי התיעוד המתוקן, Oracle Solaris 11 תומך ב-Unicode 6.0 וב-ISO/IEC 10646:2011 ברמת המערכת, תוך שימוש ב-UTF-8 כפורמט ברירת המחדל בקבוצות הפרמטרים שלו, מה שחוסך בעיות בסדר בתים ושומר על ASCII בצורה שקופה.

יוניקוד בפועל: אינטרנט, מסמכים ותכנות

באינטרנט, מקובל להציג ולאחסן תוכן ב-UTF-8 . ב-HTML, יש להצהיר על '<meta charset="UTF-8">' כדי להבטיח תאימות, ולהשתמש בישויות מספריות הקסדצימליות בעת הצורך (לדוגמה: האירו '&#x20AC;').

  מדריך הרכבת מחשב מלא שלב אחר שלב

ב-Word, ניתן להכניס בקלות סמלי Unicode על ידי הצבת הסמן, מעבר אל Insert > Symbol, או על ידי הקלדת הקוד ולחיצה על Alt+X; פעולה זו ממירה את הערך לתו שלו, בהתאם להליכים סטנדרטיים. ראו גם את רשימת קודי Alt להכנסת סמלים מהמקלדת.

בשפות תכנות : בפייתון 3, מחרוזות כבר קיימות ביוניקוד; ב-Java וב-C# ניתן להשתמש בתווי בריחה '\uXXXX'; ב-HTML, '&#xXXXX;'. חשוב שעריכה, קומפילציה ושידור משתמשים באותו קידוד כדי למנוע שגיאות.

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

מסד נתונים של תווים (UCD), מאפיינים וקטגוריות

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

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

גרסאות והרחבות של התקן: נקודות עיקריות

יוניקוד גדל עם כל גרסה , ומשלב כתבים, סמלים ואמוג'יז חדשים. אבני דרך מרכזיות כוללות את גרסה 1.0 בשנת 1991 עם 7.161 תווים, והרחבות נוספות שהוסיפו אלפי סמלים, אידיאוגרמות, אמוג'יז וכתבים חדשים.

לדוגמה, בשנת 2022 , גרסה 15.0 הוסיפה 4.192 אידיאוגרמות CJK נוספות ואלמנטים אחרים, והגיעה לכ -149.186 תווים.

כלים לחקר טבלת יוניקוד

ישנם כלי עזר חינמיים לחיפוש וניתוח תווים : Unibook Character Browser, SYMBL ו-Branah.com מאפשרים לך לבצע שאילתות על מאפיינים, שמות ובלוקים של תווים, מה שמקל על מפתחים ויוצרי תוכן למצוא במהירות את המידע הדרוש להם.

מקרי שימוש: טפסי כתובת, בינלאומיות ועסקים

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

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

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