PDA

View Full Version : سوال: سایز یک فایل و آرایه ای از بایت ها



irpersian20
دوشنبه 18 آذر 1392, 00:53 صبح
سلام
سایز یک فایل رو برمیگردانم اما مشکل اینجاست که 2 بایت اول رو پر میکنه اما 6 بایت بعدی رو 0 میزاره و مشکلی تا اینجا قضیه نیست
اما چرا 6 بایت رو 0 میزاره و 6 بایت رو رسما به هدر میده؟ چرا فقط از 2 بایت لازم داره،استفاده نمیکنه؟

byte[] length = BitConverter.GetBytes(fs.Length);

rahnema1
دوشنبه 18 آذر 1392, 07:37 صبح
سلام
ترتیب بایتهای که توسط GetBytes برگردانده میشه بستگی به معماری سیستم شما داره که little-endian یا big-endian باشه . با توجه به این مطلبی که گذاشتید مشخصه که سیستم شما little-endian هست و هنگام نمایش بایتها اونها برعکس نشون داده میشن در نتیجه شما باید اون رو برعکس کنید


byte[] length = BitConverter.GetBytes(fs.Length);
if (BitConverter.IsLittleEndian) Array.Reverse(length);


منبع:http://msdn.microsoft.com/en-us/library/system.bitconverter(v%3Dvs.110).aspx