
char) נשמר בזיכרון כמספר לפי טבלאות ASCII ויוניקוד, ומציג תווים מיוחדים שנכתבים בעזרת לוכסן הפוך.char ch = 'a';. גרשיים כפולים מסמנים מחרוזת, ולכן הם לא מתאימים לתו בודד.a מיוצג על ידי 97, התו A על ידי 65, והתו 0 על ידי 48. האותיות והספרות רצופות בטבלה.א מיוצג על ידי 1488, אבל חלון הקונסולה אינו מציג אותו.\n מוריד שורה, ו-\r מחזיר את הסמן לתחילת השורה.\b מחזיר את הסמן תו אחד אחורה, כך שהתו הבא נכתב על התו הקודם.\\, או מוסיפים @ לפני המחרוזת, ואז כל לוכסן בה מוצג כרגיל. זה חשוב בנתיבי קבצים.\r ו-\n. לכן Environment.NewLine בוחר את התו הנכון לסביבה. התו שמשמיע צפצוף הוא קוד ASCII מספר 7, ולכן הדפסתו מפעילה את הרמקולים.הטקסט המלא של הדקות הראשונות בהרצאה «תווים - Chars (שפת #C)» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
אנחנו עוברים לראות כמה דברים מעניינים בנוגע לתווים. תו זה היחידה הבסיסית שמרכיבה מחרוזת או מידע טקסטואלי.
ניתן לקלוט כמובן תווים דרך המקלדת. אז אנחנו הולכים לראות כמה דברים מעניינים בנוגע אליהם. עכשיו, למה זה חשוב לנו? מפני שכל הטקסטים בעצם מורכבים מתווים, ולכן כדאי שנדע מה עומד מאחוריהם.
אנחנו כבר יודעים שכאשר אנחנו רוצים לפתוח תא זיכרון שיהיה מסוגל לקלוט תו בודד, אז אנחנו פותחים אותו בעזרת טיפוס הנתונים שנקרא char. נניח אנחנו כותבים char ch ואנחנו יכולים עכשיו להכניס לתוכו איזשהו ערך.
כאשר אנחנו רוצים להכניס לתוכו ערך, לדוגמה את התו a, אנחנו לא יכולים פשוט לכתוב a בצורה כזאת, מפני שאז המחשב יחשוב שישנו משתנה שנקרא a. אם אנחנו מגדירים אותו בגרשיים זה גם לא בסדר, מפני שגרשיים מבחינת שפת התכנות c-sharp זאת מחרוזת.
אנחנו צריכים להגדיר אותו בעזרת גרש גרש. אז כעת בתוך המשתנה ch מטיפוס char יושב הערך a שזה תו אחד ויחיד. אנחנו יכולים להדפיס אותו ואנחנו הולכים לראות על המסך את התו a.
סבבה. אבל בואו נבין בעצם מה בעצם עומד מאחורי התו a. אז המחשב לא מסוגל לשמור את הסימן a או את התו a כמו שהוא לדוגמת ציור של a כמו שאנחנו רואים על המסך.
מה שהמחשב מסוגל לשמור בזיכרון שלו זה דבר אחד ויחיד והוא מספרים. לכן מה שקורה בעולם פיתוח התוכנה זה שישנה טבלה שמייצגת תווים, והטבלה הזאת פשוט זה מספרים, כל תו יש לו מספר מסוים בטבלה.
יש כל מיני טבלאות כאלה שכל מיני שפות תכנות עובדות, ושפות תכנות ישנות עבדו עם איזושהי טבלה ישנה שנקראת טבלת אסקים.
בואו נסתכל על טבלת אסקי. נפתח את גוגל ונחפש ASCII TABLE נעבור לתמונות ונסתכל על התמונה הראשונה כאן אנחנו בעצם רואים טבלה שבעמודה השמאלית שלה אנחנו רואים דצימל כלומר המספר בטבלה הימנית בעמודה הימנית אנחנו רואים באדום את התו עצמו אז אנחנו רואים פה מה זה אומר לדוגמה בואו ניקח את התו A נחפש אותו
זה אמור להיות פה איפשהו הנה הוא פה אז אנחנו רואים את התו A ואנחנו רואים שהמספר שלו זה 97. עכשיו, מה שמעניין זה ש-b זה 98, c זה 99, ואלה אותיות קטנות.
אז כל התווים של האותיות הקטנות a עד z זה קודים אסקיים רציפים. כאשר אנחנו מכניסים את התו a, מה שבאמת קורה בזיכרון זה שנשמר המספר 97. בואו נוכיח את זה.
בואו נחזור לפה ונדפיס את ההמרה לאינטג'ר של התו ch של a. בואו נסתכל מה מוצג לנו ואנחנו אכן רואים שמוצג 97. אוקיי בואו נחזור לטבלת האסקי ונחפש את a גדולה.
a גדולה אנחנו רואים אותה כאן זה 65. b גדולה זה 66 זאת אומרת a עד z גדולות גם כן הם רציפים 65 עד 90. בואו נחזור בחזרה לתוכנית ניקח תו נוסף או שבעצם בואו נשתמש ב-ph נשים בתוכו a גדולה מריץ ונראה כעת ש-a גדולה אכן הייצוג המספרי שלה זה 65. ספרות אנחנו יכולים לראות כאן את 0
ואנחנו יכולים לראות שזה 48 1 זה 49 9 ו-57 גם הספרות הם רציפים בזיכרון אנחנו יכולים לראות כאן את הערכים שלהם בואו נשים במקום a את התו 0 שימו זה לא המספר 0 זה התו 0 ואנחנו יכולים לראות שהוא באמת 48 אם אנחנו נדפיס את 1 אנחנו נראה ש-1 הוא 49 זאת אומרת שהספרות גם מיוצגות על ידי תווים והם גם כן רציפים בזיכרון עכשיו הטבלה הזאת נחשבת טבלת אסקי טבלת אסקי היא מ-0 עד
127 ואנחנו רואים את כל הסימנים והתווים הנפוצים שקיימים באנגלית שניתן לקבל במקלדת נמצאים בטבלה הזאת אבל מקודם אמרתי ששפות עתיקות השתמשו עם טבלת אסקי בשביל לייצג את המספרים שלהם ושפות חדשות כמו c-sharp לדוגמה שנחשבת יחסית חדשה לא משתמשת עם טבלת אסקי לייצג את המספרים שלהם אבל כתבים אבל בעצם זה מה
שראינו ראינו שזאת טבלת אסקי a שווה 97 ואכן c-sharp הראתה לנו שa שווה 97 a גדולה שווה 95 ואכן זה מה שראינו ב-c-sharp 0 זה 48 מבחינת ייצוג מספרי וזה מה שראינו איך זה יכול להיות אז למעשה c-sharp זה שפה בינלאומית שהמטרה שלה זה שניתן יהיה לכתוב אפליקציה ולהכניס את כל התווים בכל העולם פחות או יותר לתוך האפליקציה.
בגלל שטבלת אסקי טובה בין 0 לבין 127 אנחנו כבר לא יכולים לייצג את כל התווים בעולם בטבלת אסקי. לדוגמה התו א' לא ניתן לייצוג בטבלת אסקי.
אז איך בדיוק c-sharp עובדת? c-sharp עובדת בטבלה אחרת שנקראת טבלת יוניקוד. יוניקוד זה קיצור של Universal Code וזאתי טבלה שאין בה בין 0 לבין 127 תווים, יש בה מעל 65 אלף תווים שונים כולל תווים בעברית, צרפתית, רוסית, כמובן אנגלית והמון המון
המון המון שפות בעולם. אז איך זה יכול להיות שכאשר אנחנו הרצנו את התוכנית הזאת ב-C-Sharp היא הראתה לנו את התווים על ידי ייצוג מספרי שמתאים לאסקי? התשובה היא שבכדי שתהיה תאימות בין שפות שונות, כאשר בנו את טבלת יוניקוד של ה-65,000 תווים, לקחו את ה-127 תווים ראשונים של טבלת יוניקוד,
והגדירו אותם כזהים בדיוק ל-127 תווים של טבלת אסקי. בכדי שאם יהיה לנו איזשהו תו שקשור לשפה עתיקה, בואו נניח שפת C או Delphi, שנשלח אלינו משפה עתיקה ל-C-Sharp, תו קוד אסקי אנחנו עדיין נוכל לקבל את התו הנכון.
לכן מ-27 התווים הראשונים בטבלת אסקי ובטבלת יוניקוד ובעוד מספר טבלאות אחרות הם זהים לחלוטין. אוקיי, אבל אנחנו יכולים עכשיו גם לרשום א', מה שלא היינו יכולים לרשום בטבלת אסקי, ששם יש רק עד 127. בואו נריץ את זה ונראה שהקונסול ספציפית לא מצליח להציג תווים שהם בעברית,
אבל אנחנו כן רואים את הייצוג המספרי שלו. 1488 אז כאן אנחנו בעצם רואים ש-C-Sharp כן תומכת בתווים שהם יוניקוד אם היינו מציגים את זה לדוגמה בפרויקט ווינפורם או בפרויקט של מובייל או באתר אינטרנט כמובן שהיינו כן מצליחים לראות א' ספציפית חלון הקונסול לא מסוגל להציג את זה בסדר זה מה שיש ועם זה אנחנו עובדים בקונסול אבל כמובן שבעולם
האמיתי אנחנו הולכים לכתוב אתרי אינטרנט תוכניות מובייל ווינפורם ושם אנחנו כמובן הולכים לראות תווים בכל השפות האחרות.
אז אחרי שראינו שתו מיוצג על ידי מספר, בואו נעשה תוכנית קטנה עם איזושהי פונקציה נחמדה, שפשוט מציגה לנו את כל התווים האסקיים שקיימים.
בואו נכתוב פונקציה static void show asci table. ראשי התיבות של אסקי זה American Standard Code for Information Interchange. רק ליד הכללי.
בואו נרוץ, נגדיר כאן שיש לנו int i שווה 0 כל עוד i קטן או שווה ל-127 i++ ובואו נציג כזה דבר נציג במחרוזת אחת גם את הקוד האסקי שלו וגם את התו עצמו בואו נשים פה 0 בואו נשים פה 1 ונקרא לפונקציה בואו נריץ אנחנו רואים את כל התווים מוצגים
בעצם אנחנו ראינו רק מספרים מוצגים ואנחנו רוצים להציג את התו נציג את התו פה, נמיר ממספר לתו, אוקיי, בואו נסתכל רגע, ונראה שיש לנו 0, לא רואים כלום, זה פשוט תו שלא נראה על המסך, 1, סמיילי שחור, 2,
סמיילי לבן, 3, לב, יש לנו פה את כל הסימנים של הקלפים, כל מיני סימנים, זכר נקבה, תו מוזיקלי, שמש, כל מיני תווים, ציורים כאלה, ב-48 אנחנו רואים שמתחילות הספרות, 0, 1,
2 עד 9. ב-65 אנחנו רואים שמתחילים אותיות באנגלית ואנחנו רואים כאן ב-97 ABC אותיות באנגלית קטנות עד 127. זאת בעצם טבלת אסקי. עכשיו כשהרצתי את זה בטח שמעתם צפצוף. ננסה עוד פעם.
צפצוף זה גם כן אחד מהתווים. אחד מהתווים הוא פשוט צפצוף ולכן הוא פשוט מפעיל את הרמקולים של המחשב. אם אני לא טועה זה או 7 או 9. אחד מהם הוא יוצר צפצוף.
אתם יכולים לבדוק את זה פשוט על ידי הדפסת התו הזה. אוקיי, אז אלה בעצם התווים האסקיים, ואנחנו יכולים כמובן, כאשר יש לנו איזשהו תו, להפוך אותו לאינטג'ר על ידי קאסטינג פשוט ולקבל את הייצוג המספרי שלו, ואם יש לנו מספר אנחנו יכולים להפוך אותו על ידי צ'אר לייצוג האסקי שלו.
עכשיו, קיימים סדרה של תווים מיוחדים. בואו נסתכל עליהם. תווים מיוחדים זה תווים שאנחנו יכולים להציג אותם על ידי זה שאנחנו שותלים אותם בתוך מכור הזה.
לדוגמה, אם אנחנו עכשיו מדפיסים את 123456, ובין 123 ל-456 אנחנו רושמים את התו n. כמובן שאנחנו הולכים לראות 123n456. בואו נריץ, זה מה שאנחנו רואים על המסך.
אבל יש לנו את הסימן backslash. backslash, ברגע שאנחנו מצמידים אותו לתו מיוחד, הופך בעצם לאחד מהתווים שקיימים בטבלת האסקי.
backslash n זה פשוט מאוד enter בואו נריץ