PDA

View Full Version : ذخیره اعداد بر روی یک بایت فضا



saed2006
چهارشنبه 20 آبان 1388, 16:44 عصر
سلام
من یکسری عدد از 0 تا 255 دارم میخوام اینا رو توی یک فایل متنی ذخیره کنم به نحوی که هر عدد
فقط یک بایت فضا اشغال کنه
روش این کار توی C# چیه؟

Reza_Yarahmadi
چهارشنبه 20 آبان 1388, 23:55 عصر
میتونی هر عدد رو به عنوان کد اسکی در نظر بگیری و کاراکتر متناظرش رو توی فایل ذخیره کنی زمان واکش هم کد اسکی کاراکترها رو محاسبه کن.

StreamWriter SW = new StreamWriter("File Path", true, Encoding.ASCII);
SW.Write((char)125);
//....

StreamReader SR = new StreamReader("File Path", Encoding.ASCII);
int result = (int)SR.ReadLine()[0];

saed2006
شنبه 23 آبان 1388, 13:07 عصر
وقتی کد اسکی کاراکتر بشتر از 127 میشه هر کاراکتر حجم بیشتر از یک بایت میگیره
اعداد من از 0 تا 255 هست اما کد اسکی فقط تا 127 تعریف شده
چه باید کرد؟

Reza_Yarahmadi
شنبه 23 آبان 1388, 22:26 عصر
دوست عزیز کد زیر رو امتحان کن ببین کارتو راه میندازه یا نه!

byte[] b = new byte[1];
b[0] = Convert.ToByte(222);
File.WriteAllBytes("Temp", b);

byte[] bb = File.ReadAllBytes("Temp");
MessageBox.Show(Convert.ToInt16(b[0]).ToString());