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

אמריקה נגד היקום

הקוד הסטנדרטי האמריקאי למחלף מידע (ASCII), באופן לא מפתיע, פונה לקהל אמריקני וכותב באלף-בית באנגלית. הוא עוסק באותיות לא מופעלות, כגון A-Z ו- A-Z, בתוספת מספר קטן של סמלי פיסוק ותווי שליטה.

בפרט, אין דרך לייצג מילות הלוואה שאומצו משפות אחרות, כגון בֵּית קָפֶה ב- ASCII, בלי לחרט אותם על ידי החלפת תווים מודגשים (למשל, בֵּית קָפֶה). הרחבות ASCII מקומיות פותחו כדי לענות על צורכי השפות השונות, אך מאמצים אלה הפכו את יכולת הפעולה ההדדית למגושמת והביאו בבירור את יכולות ASCII.

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

ערכת תווים או קידוד תווים?

במילים פשוטות, ערכת תווים היא מבחר של תווים (למשל A-Z) ואילו תו קידוד הוא מיפוי בין קבוצת תווים לערך שניתן לייצג באופן דיגיטלי (למשל, A = 1, B = 2).

instagram viewer

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

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

גודל

בשל היקפו, Unicode מייצג הרבה יותר תווים מאשר ASCII. ASCII סטנדרטי משתמש בטווח של 7 סיביות כדי לקודד 128 מובחנים תווים. יוניקוד, לעומת זאת, כל כך גדולה שאנחנו צריכים להשתמש במינוח שונה רק כדי לדבר על זה!

יוניקוד פונה ל -1,111,998 ניתנים לכתובת נקודות קוד. נקודת קוד אנלוגית בערך למרחב השמור לדמות, אך המצב הרבה יותר מסובך מזה כשמתחילים להתעמק בפרטים!

השוואה שימושית יותר היא כמה סקריפטים (או מערכות כתיבה) נתמכים כיום. כמובן, ASCII מטפל רק באלפבית האנגלי, למעשה הכתב הלטיני או הרומי. הגרסה של Unicode שהופקה בשנת 2020 מרחיקה לכת הרבה יותר: היא כוללת תמיכה בסך כולל של 154 סקריפטים.

אִחסוּן

טווח 7 הסיביות של ASCII פירושו שכל תו מאוחסן בתא 8 סיביות יחיד; ביט הרזרב אינו בשימוש ב- ASCII סטנדרטי. זה הופך את חישובי הגודל לטריוויאליים: אורך הטקסט, בתווים, הוא גודל הקובץ בבייטים.

אתה יכול לאשר זאת באמצעות הרצף הבא של פקודות bash. ראשית, אנו יוצרים קובץ המכיל 12 אותיות טקסט:

$ echo -n 'Hello, world'> foo

כדי לבדוק שהטקסט נמצא בקידוד ASCII, נוכל להשתמש ב- קוֹבֶץ פקודה:

$ file foo
foo: טקסט ASCII, ללא מסופי שורה

לבסוף, כדי לקבל את המספר המדויק של בתים שהקובץ תופס, אנו משתמשים ב- סטט פקודה:

$ stat -f% z foo
12

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

חזרה על אותה קבוצה של פקודות מבעבר, תוך שימוש בתו שלא ניתן לייצג ב- ASCII, נותנת את הדברים הבאים:

$ echo -n '€'> foo
$ file foo
foo: UTF-8 Unicode טקסט, ללא מסופי שורה
$ stat -f% z foo
3

תו יחיד זה תופס 3 בתים בקובץ Unicode. שים לב ש- bash יצר אוטומטית קובץ UTF-8 מכיוון שקובץ ASCII אינו יכול לאחסן את התו הנבחר (€). UTF-8 הוא ללא ספק קידוד התווים הנפוץ ביותר עבור Unicode; UTF-16 ו- UTF-32 הם שני קידודים חלופיים, אך הם משמשים הרבה פחות.

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

ASCII הוא Unicode, אך Unicode אינו ASCII

לשם תאימות לאחור, 128 נקודות הקוד הראשונות של Unicode מייצגות את תווי ASCII המקבילים. מכיוון ש- UTF-8 מקודד כל אחת מהתווים האלה בתור אחד, כל טקסט ASCII הוא גם טקסט UTF-8. יוניקוד היא קבוצת על של ASCII.

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

שימוש מודרני

לרוב המטרות, ASCII נחשב במידה רבה כסטנדרט מורשת. אפילו במצבים שתומכים רק בכתב הלטיני - שם תמיכה מלאה במורכבות של יוניקוד מיותר, למשל - בדרך כלל יותר נוח להשתמש ב- UTF-8 ולנצל את ה- ASCII שלו תְאִימוּת.

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

תקן שמשתנה

התיקון האחרון של ASCII התרחש בשנת 1986.

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

קָשׁוּר: 100 האימוג'ים הפופולריים ביותר שהוסברו

100 האימוג'ים הפופולריים ביותר שהוסברו

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

ASCII לעומת יוניקוד

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

אימייל
מהו טקסט ASCII וכיצד משתמשים בו?

טקסט ASCII נראה סתום, אך יש לו שימושים רבים ברחבי האינטרנט.

נושאים קשורים
  • הסבירו טכנולוגיה
  • אימוג'ים
  • ז'רגון
  • תרבות רשת
  • יוניקוד
על הסופר
בובי ג'ק (23 מאמרים פורסמו)

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

עוד מבובי ג'ק

הירשם לניוזלטר שלנו

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

צעד אחד נוסף !!!

אנא אשר את כתובת הדוא"ל שלך בדוא"ל ששלחנו לך זה עתה.

.