אז ככה ../images/Emo13.gif
קודם כל אני ממליץ לך
לקרוא את זה (משהו שכתבתי שמסביר את ההבדלים בין Unicode ל-ASCII). הכלל הוא: מחרוזות ו-char-ים בדוט נט הם בunicode. כל פעם שאתה כותב "שלום", אתה בעצם כותב רצף של 8 בתים (כי כל תו ביוניקוד הוא 2 בתים). אם אתה רוצה לעבוד עם ASCII, אתה צריך להשתמש בניימפייס System.Text. הוא חושף מתודות וקלאסים שנותנים לך לתרגם מספרים למחרוזות/תוים, כאשר המספרים אינם מייצגים קודי unicode, אלא קודי ASCII. נניח שיש לך את המערך הבא של 4 בתים:
byte[] b = {130,156,198,123};
בשביל הדוגמה, נאמר שסדרת מספרים זו מייצגת את המילה "שלום" ב-ASCII. כבר אמרנו שמחרוזות ב-#C הן יוניקוד, לכן אנחנו צריכים להמיר את סדרת הבתים הזאת למחרוזת יוניקוד. את זה עושים ככה:
using System.Text; byte[] byteArray = {130,156,198,123}; //Create a new Encoding class Encoding hebrew = new Encoding(1255); /* 1255 = hebrew, this can be any other encoding, including 65001, if our byte array represents unicode bytes, or 1251 if our bye array represents western-european bytes. */ //Convert the byte array to a string. string x = hebrew.GetString(byteArray);
מקווה שהכל מובן