السلام عليكم ورحمة الله وبركاته
إخواني الأعزاء ما أعرفه أن النوع Char يحمل حرف واحد فقط وعند تخزينه في ملف بصيغة ثنائية فإنه يستهلك 2 بايت لكن ما قصة هذا المقطع :
FileStream fs = new FileStream("Data.dat", FileMode.Create);
BinaryWriter bw = new BinaryWriter(fs);
char a=(char)1000;
bw.Write(a);
a=(char)3000;
bw.Write(a);
bw.Close();التخزين الأول يستهلك 2 بايت وهو أمر طبيعي أما التخزين الثاني فهو يستهلك 3 بايت لماذا !!
بعد عدة تجارب وجدت أن الـ Char عند الرقم 2048 فما فوق تصبح 3 بايت عند تخزينها .
يبدو أن الرقم 2048 مـألوفا أليس كذلك :)
لكن لم أجد أي تفسير منطقي لما يحدث !!
لكم أجمل تحية