View Full Version : سوال: داده در حالت باینری
s.a.s.a.n
جمعه 04 بهمن 1392, 15:44 عصر
سلام دوستان . همه میدونیم که اطلاعات هر چیزی که باشند بالاخره به صورت بیت های 1 یا 0 روی هارد دیسک(حافظه دایمی ) ذخیره میشن . (اگه غیر از این هست راهنماییم کنید ) دنبال راهی هستم که بتونم این کد های 0 و 1 رو داشته باشم . مثلا یک فیلم 2 گیگابایتی رو میخوام به صورت 0 و 1 داشته باشم . خیلی ممنون میشم اگه کمکم کنید
fmehrvarzi
جمعه 04 بهمن 1392, 16:38 عصر
مقدمه:
تمام اطلاعات در کامپیوتر در واحد بایت ذخیره می شود
و هر بایت میتونه مقادیر 0 تا 255 را داشته باشد
و بایت را در سی شارپ با byte نمایش میدهند.
شما میتونید مسیر فایل مورد نظرتان را توسط OpenFileDialog بگیرید
و سپس مسیرتان را توسط این تابع به آرایه ای از بایتها تبدیل کنید
/************Convert file to byte array***************/
/// <summary>
/// Function to get byte array from a file
/// </summary>
/// <param name="_FileName">File name to get byte array</param>
/// <returns>Byte Array</returns>
public byte[] FileToByteArray(string _FileName)
{
byte[] _Buffer = null;
try
{
// Open file for reading
System.IO.FileStream _FileStream = new System.IO.FileStream(_FileName, System.IO.FileMode.Open, System.IO.FileAccess.Read);
// attach filestream to binary reader
System.IO.BinaryReader _BinaryReader = new System.IO.BinaryReader(_FileStream);
// get total byte length of the file
long _TotalBytes = new System.IO.FileInfo(_FileName).Length;
// read entire file into buffer
_Buffer = _BinaryReader.ReadBytes((Int32)_TotalBytes);
// close file reader
_FileStream.Close();
_FileStream.Dispose();
_BinaryReader.Close();
}
catch (Exception _Exception)
{
// Error
Console.WriteLine("Exception caught in process: {0}", _Exception.ToString());
}
return _Buffer;
}
برای تبدیل بایت به باینری هم میتونید از این اسنیپت استفاده کنید
byte b = 45;
//Will be "101101"
var bitstring = Convert.ToString(b, 2);
s.a.s.a.n
جمعه 04 بهمن 1392, 20:02 عصر
مقدمه:
تمام اطلاعات در کامپیوتر در واحد بایت ذخیره می شود
و هر بایت میتونه مقادیر 0 تا 255 را داشته باشد
و بایت را در سی شارپ با byte نمایش میدهند.
شما میتونید مسیر فایل مورد نظرتان را توسط OpenFileDialog بگیرید
و سپس مسیرتان را توسط این تابع به آرایه ای از بایتها تبدیل کنید
/************Convert file to byte array***************/
/// <summary>
/// Function to get byte array from a file
/// </summary>
/// <param name="_FileName">File name to get byte array</param>
/// <returns>Byte Array</returns>
public byte[] FileToByteArray(string _FileName)
{
byte[] _Buffer = null;
try
{
// Open file for reading
System.IO.FileStream _FileStream = new System.IO.FileStream(_FileName, System.IO.FileMode.Open, System.IO.FileAccess.Read);
// attach filestream to binary reader
System.IO.BinaryReader _BinaryReader = new System.IO.BinaryReader(_FileStream);
// get total byte length of the file
long _TotalBytes = new System.IO.FileInfo(_FileName).Length;
// read entire file into buffer
_Buffer = _BinaryReader.ReadBytes((Int32)_TotalBytes);
// close file reader
_FileStream.Close();
_FileStream.Dispose();
_BinaryReader.Close();
}
catch (Exception _Exception)
{
// Error
Console.WriteLine("Exception caught in process: {0}", _Exception.ToString());
}
return _Buffer;
}
برای تبدیل بایت به باینری هم میتونید از این اسنیپت استفاده کنید
byte b = 45;
//Will be "101101"
var bitstring = Convert.ToString(b, 2);
خیلی ممنون از راهنماییتون . فقط چند تا سوال دارم . یکیش این که file name که مسیره و string درست ؟ اما نمیدونم System.IO.FileMode.Open, System.IO.FileAccess.Read قراره چی باشه . میشه کمک کنید ؟
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.