יוניקוד

מתוך הויקי של ג'נטו.

(הופנה מהדף UTF-8)
קפיצה אל: ניווט, חיפוש

תרגום של מדריך Using UTF-8 with Gentoo. תורגם על ידי Oldie.

לויקיפדיה יש מאמר בנושא זה:

תוכן העניינים

[עריכה] קידוד תווים

[עריכה] מהו קידוד תווים?

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

[עריכה] ההסטוריה של קידוד תווים

שיטת הקידוד הנפוצה (או לפחות המקובלת ביותר) הינה ASCII (ר"ת American Standard Code for Information Interchange). מקובל לחשוב ש ASCII הינו סטנדרט התוכנה המצליח ביותר מאז ומעולם. ה ASCII המודרני נקבע כתקן ב 1986 (ANSI X3.4, RFC 20, ISO/IEC 646:1991, ECMA-6) על ידי מכון התקינה הלאומי האמריקאי. ASCII מוגבל ל-7 ביטים, שמשמעו מספרים בתחום שבן 0 ל-127 דצימלי. בסט זה נכללים 32 תווי בקרה לא נראים, רובם בן 0 ל-31, והתו האחרון DEL במקום 127. התווים במקומות 32 עד 126 נראים לעין: רווח סימני ניקוד, ספרות ואותיות לטיניות. הביט השמיני ב- ASCII היה מיועד מלכתחילה כביט זוגיות לבדיקת שגיאות. במידה ולא משתמשים באפשרות זו ערכו 0. דבר זה משמעו שכל תו ASCII מיוצג על ידי בייט אחד. אע"פ ש-ASCII היה מספיק לתקשורת באנגלית מודרנית, בשפות אירופאיות אחרות שכוללות תווי היגוי הדברים לא כל כך הסתדרו. תקני ISO 8859 פותחו כדי לעמוד בדרישות אלו. היתה להם תאימות אחורה עם ASCII, אולם במקום להשאיר את הביט השמיני ללא שימוש, הם השתמשו בו כדי ליצור עוד 127 תווים בכל קידוד. המגבלות של ISO 8859 נתגלו במהרה, ויש כיום 15 תצורות של תקן ISO 8859 (החל מ ISO 8859-1 וכלה ב ISO 8859-15). מחוץ לתחום התואם ל ASCII בכל הסטים הללו, יש לעיתים קרובות אי התאמה בן האותיות המיוצגות על ידי כל בייט. כדי לסבך עוד יותר את המעבר בן קידודים שונים, בחלק מהגרסאות של תוכנת חלונות נעשה שימוש בסט של Windows-1252 במקום הסט האירופי המתאים. מוצאו של Windows-1252 הוא מ ISO 8859-1, אולם הוא שונה ממנו בכמה דרכים. ובכל זאת ניתן לומר שכל הסטים הללו שומרים על תאימות ASCII. הפיתוח ההכרחי של קידוד על ידי בייט בודד אך שונה לחלוטין עבור שפות שאינן לטיניות כגון EUC (ר"ת Extended Unix Coding) המשומש עבור יפנית וקוראנית (ובמידה פחותה עבור סינית) יצר בלבול נוסף. בעוד מערכות הפעלה אחרות השתמשו בסטים שונים של תווים עבור אותה שפה, לדוגמא Shift-JIS ו- ISO-2022-JP עבור יפנית. משתמשים המבקשים לראות סימנים קירילים היו צריכים לבחור בן KOI8-R לרוסית ובולגרית לבין KOI8-U עבור אוקראינית, בנוסף לכל שאר הקידודים הקירילים כגון ISO 8859-5 שלא הצליח ובנוסף סט Windows-1251 המקובל. כל הסטים הללו שברו את רוב התאימות עם ASCII (אע"פ שקידוד KOI8 ממקם תווים קירילים בסדר לטיני, כך שמורידים את הביט השמיני ניתן לפענח את הטקסט ע"ג מסוף ASCII על ידי המרה הפוכה).

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

[עריכה] מהו יוניקוד?

יוניקוד מסיר את המגבלה המסורתית של קידוד של בייט בודד לסט תווים. הוא משתמש ב-17 "מישורים" של 65,536 נקודות קוד כדי לתאר מקסימום של 1,114,112 תווים. בגלל שהמישור הראשון הידוע כ BMP (ר"ת Basic Multilingual Plane ז"א מישור רב לשוני בסיסי), מכיל כמעט את כל מה שאי פעם תשתמש בו, רבים הניחו בטעות שהיוניקוד הינו סט תווים של 16 ביט. יוניקוד מופה בהרבה דרכים שונות, אולם ה-2 הנפוצות ביותר הינן UTF (ר"ת Unicode Transformation Format) ו-UCS (ר"ת Universal Character Set). המספר לאחר UTF מציין את כמות הביטים בתו, בעוד שהמספר לאחר UCS מציין את כמות הבייטים. UTF-8 הפך לאמצעי הנפוץ ביותר להחלפה של טקסט של יוניקוד כתוצאה מטבע ה-8 ביט הנקי שלו והוא נושא מסמך זה.

[עריכה] UTF-8

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

[עריכה] מה UTF-8 יכול לעשות עבורך

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

[עריכה] ראה גם

[עריכה] קישורים חיצוניים

  • UTF-8 בויקיפדיה העברית.
כלים אישיים