PracticU

תווים - Chars (שפת #C)

בלי כתוביותעם כתוביות
PracticU › קורס יסודות התכנות - שפת C# .NET - קורס תכנות למתחילים - דוט-נט / סי-שארפ - חומר לימוד של מדעי המחשב › תווים - Chars (שפת #C)
מילון מושגים:
זיכרון - רכיב מהיר ונדיף שבו המחשב שומר נתונים ותוכניות בזמן ריצתם. תוכנו נמחק עם כיבוי המחשב.
ASCII - תקן לקידוד תווים שמייצג אותיות, ספרות וסימנים כמספרים, ומשמש בסיס לייצוג טקסט במחשב.
מחרוזת - סוג נתונים שמייצג רצף של תווים, כלומר טקסט, ומשמש לאחסון מילים, משפטים או כל רצף סימנים.
פונקציה - קטע קוד בעל שם שמבצע משימה מוגדרת, מקבל ערכי קלט (פרמטרים) ויכול להחזיר תוצאה. מאפשרת לארגן קוד ולהשתמש בו שוב.

תווים - Chars (שפת #C)
הסרטון מסביר איך תו (char) נשמר בזיכרון כמספר לפי טבלאות ASCII ויוניקוד, ומציג תווים מיוחדים שנכתבים בעזרת לוכסן הפוך.
ייצוג התווים
1. הגדרה: תו נכתב בגרש בודד, למשל char ch = 'a';. גרשיים כפולים מסמנים מחרוזת, ולכן הם לא מתאימים לתו בודד.
2. המספר שמאחורי התו: המחשב שומר מספרים. התו a מיוצג על ידי 97, התו A על ידי 65, והתו 0 על ידי 48. האותיות והספרות רצופות בטבלה.
3. ASCII ויוניקוד: טבלת ASCII כוללת את הערכים 0 עד 127. טבלת יוניקוד כוללת מעל 65,000 תווים בכל השפות, והערכים הראשונים שלה זהים ל-ASCII. התו א מיוצג על ידי 1488, אבל חלון הקונסולה אינו מציג אותו.
תווים מיוחדים
- \n מוריד שורה, ו-\r מחזיר את הסמן לתחילת השורה.
- \b מחזיר את הסמן תו אחד אחורה, כך שהתו הבא נכתב על התו הקודם.
- כדי להציג לוכסן הפוך עצמו כותבים \\, או מוסיפים @ לפני המחרוזת, ואז כל לוכסן בה מוצג כרגיל. זה חשוב בנתיבי קבצים.
- גרשיים בתוך מחרוזת נכתבים עם לוכסן הפוך לפניהם.
שימו לב
ב-Enter יש בעצם שני תווים במערכות ישנות: \r ו-\n. לכן Environment.NewLine בוחר את התו הנכון לסביבה. התו שמשמיע צפצוף הוא קוד ASCII מספר 7, ולכן הדפסתו מפעילה את הרמקולים.
הסרטון בונה פונקציה שמציגה את כל התווים של טבלת ASCII מ-0 עד 127. כל מחרוזת בנויה מתווים, ולכן ההבנה של מה שמאחורי התו עוזרת להבין כל עבודה עם טקסט.
השיעור הבא בקורס: מחרוזת - Strings

פרקי ההרצאה: תווים - Chars (שפת #C)

  1. 00:00

    מהו תו (char) ולמה חשוב להבין אותו

  2. 00:36

    הגדרת משתנה מסוג char וערך תו

  3. 01:33

    המחשב שומר מספרים, לא תווים

  4. 02:11

    טבלת ASCII ומספרי התווים

  5. 03:36

    המרת תו למספר ובחזרה

  6. 05:35

    ASCII לעומת Unicode

  7. 09:07

    הצגת כל התווים של טבלת ASCII

  8. 12:17

    תווים מיוחדים ותו backslash

תמלול ההרצאה: תווים - Chars (שפת #C)

הטקסט המלא של הדקות הראשונות בהרצאה «תווים - Chars (שפת #C)» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:01

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

  2. 00:12

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

  3. 00:27

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

  4. 00:45

    כאשר אנחנו רוצים להכניס לתוכו ערך, לדוגמה את התו a, אנחנו לא יכולים פשוט לכתוב a בצורה כזאת, מפני שאז המחשב יחשוב שישנו משתנה שנקרא a. אם אנחנו מגדירים אותו בגרשיים זה גם לא בסדר, מפני שגרשיים מבחינת שפת התכנות c-sharp זאת מחרוזת.

  5. 01:05

    אנחנו צריכים להגדיר אותו בעזרת גרש גרש. אז כעת בתוך המשתנה ch מטיפוס char יושב הערך a שזה תו אחד ויחיד. אנחנו יכולים להדפיס אותו ואנחנו הולכים לראות על המסך את התו a.

  6. 01:25

    סבבה. אבל בואו נבין בעצם מה בעצם עומד מאחורי התו a. אז המחשב לא מסוגל לשמור את הסימן a או את התו a כמו שהוא לדוגמת ציור של a כמו שאנחנו רואים על המסך.

  7. 01:49

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

  8. 02:09

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

  9. 02:19

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

  10. 03:07

    זה אמור להיות פה איפשהו הנה הוא פה אז אנחנו רואים את התו A ואנחנו רואים שהמספר שלו זה 97. עכשיו, מה שמעניין זה ש-b זה 98, c זה 99, ואלה אותיות קטנות.

  11. 03:25

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

  12. 03:44

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

  13. 04:09

    a גדולה אנחנו רואים אותה כאן זה 65. b גדולה זה 66 זאת אומרת a עד z גדולות גם כן הם רציפים 65 עד 90. בואו נחזור בחזרה לתוכנית ניקח תו נוסף או שבעצם בואו נשתמש ב-ph נשים בתוכו a גדולה מריץ ונראה כעת ש-a גדולה אכן הייצוג המספרי שלה זה 65. ספרות אנחנו יכולים לראות כאן את 0

  14. 04:45

    ואנחנו יכולים לראות שזה 48 1 זה 49 9 ו-57 גם הספרות הם רציפים בזיכרון אנחנו יכולים לראות כאן את הערכים שלהם בואו נשים במקום a את התו 0 שימו זה לא המספר 0 זה התו 0 ואנחנו יכולים לראות שהוא באמת 48 אם אנחנו נדפיס את 1 אנחנו נראה ש-1 הוא 49 זאת אומרת שהספרות גם מיוצגות על ידי תווים והם גם כן רציפים בזיכרון עכשיו הטבלה הזאת נחשבת טבלת אסקי טבלת אסקי היא מ-0 עד

  15. 05:23

    127 ואנחנו רואים את כל הסימנים והתווים הנפוצים שקיימים באנגלית שניתן לקבל במקלדת נמצאים בטבלה הזאת אבל מקודם אמרתי ששפות עתיקות השתמשו עם טבלת אסקי בשביל לייצג את המספרים שלהם ושפות חדשות כמו c-sharp לדוגמה שנחשבת יחסית חדשה לא משתמשת עם טבלת אסקי לייצג את המספרים שלהם אבל כתבים אבל בעצם זה מה

  16. 05:49

    שראינו ראינו שזאת טבלת אסקי a שווה 97 ואכן c-sharp הראתה לנו שa שווה 97 a גדולה שווה 95 ואכן זה מה שראינו ב-c-sharp 0 זה 48 מבחינת ייצוג מספרי וזה מה שראינו איך זה יכול להיות אז למעשה c-sharp זה שפה בינלאומית שהמטרה שלה זה שניתן יהיה לכתוב אפליקציה ולהכניס את כל התווים בכל העולם פחות או יותר לתוך האפליקציה.

  17. 06:21

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

  18. 06:33

    אז איך בדיוק c-sharp עובדת? c-sharp עובדת בטבלה אחרת שנקראת טבלת יוניקוד. יוניקוד זה קיצור של Universal Code וזאתי טבלה שאין בה בין 0 לבין 127 תווים, יש בה מעל 65 אלף תווים שונים כולל תווים בעברית, צרפתית, רוסית, כמובן אנגלית והמון המון

  19. 06:58

    המון המון שפות בעולם. אז איך זה יכול להיות שכאשר אנחנו הרצנו את התוכנית הזאת ב-C-Sharp היא הראתה לנו את התווים על ידי ייצוג מספרי שמתאים לאסקי? התשובה היא שבכדי שתהיה תאימות בין שפות שונות, כאשר בנו את טבלת יוניקוד של ה-65,000 תווים, לקחו את ה-127 תווים ראשונים של טבלת יוניקוד,

  20. 07:28

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

  21. 07:50

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

  22. 08:19

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

  23. 08:48

    האמיתי אנחנו הולכים לכתוב אתרי אינטרנט תוכניות מובייל ווינפורם ושם אנחנו כמובן הולכים לראות תווים בכל השפות האחרות.

  24. 08:59

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

  25. 09:13

    בואו נכתוב פונקציה static void show asci table. ראשי התיבות של אסקי זה American Standard Code for Information Interchange. רק ליד הכללי.

  26. 09:35

    בואו נרוץ, נגדיר כאן שיש לנו int i שווה 0 כל עוד i קטן או שווה ל-127 i++ ובואו נציג כזה דבר נציג במחרוזת אחת גם את הקוד האסקי שלו וגם את התו עצמו בואו נשים פה 0 בואו נשים פה 1 ונקרא לפונקציה בואו נריץ אנחנו רואים את כל התווים מוצגים

  27. 10:34

    בעצם אנחנו ראינו רק מספרים מוצגים ואנחנו רוצים להציג את התו נציג את התו פה, נמיר ממספר לתו, אוקיי, בואו נסתכל רגע, ונראה שיש לנו 0, לא רואים כלום, זה פשוט תו שלא נראה על המסך, 1, סמיילי שחור, 2,

  28. 11:03

    סמיילי לבן, 3, לב, יש לנו פה את כל הסימנים של הקלפים, כל מיני סימנים, זכר נקבה, תו מוזיקלי, שמש, כל מיני תווים, ציורים כאלה, ב-48 אנחנו רואים שמתחילות הספרות, 0, 1,

  29. 11:21

    2 עד 9. ב-65 אנחנו רואים שמתחילים אותיות באנגלית ואנחנו רואים כאן ב-97 ABC אותיות באנגלית קטנות עד 127. זאת בעצם טבלת אסקי. עכשיו כשהרצתי את זה בטח שמעתם צפצוף. ננסה עוד פעם.

  30. 11:47

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

  31. 12:00

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

  32. 12:23

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

  33. 12:43

    לדוגמה, אם אנחנו עכשיו מדפיסים את 123456, ובין 123 ל-456 אנחנו רושמים את התו n. כמובן שאנחנו הולכים לראות 123n456. בואו נריץ, זה מה שאנחנו רואים על המסך.

  34. 13:03

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

  35. 13:16

    backslash n זה פשוט מאוד enter בואו נריץ

לקורס המלא: קורס C# למתחילים אונליין

ההרצאה הקודמת: מטריצה - Matrix

ההרצאה הבאה: מחרוזת - Strings

הרצאות קשורות מקורסים אחרים

  • Chars
  • Accessing Single Chars
  • בדיקת תוכן ג'ייסון - תווים מיוחדים
  • איתור תווים פסולים - Bad Characters

קורסים נוספים במסלול

  • קורס פיתוח משחקים יוניטי - Unity - שפת #C