PDA

View Full Version : فایلهای باینری



reyahy
سه شنبه 26 اردیبهشت 1385, 09:02 صبح
با سلام
من در برنامه ام برای حفظ امنیت اطلاعات را در یک فایل باینری ذخیره می کنم اما زمانیکه این اطلاعات در فایل باینری نوشته می شوند بصورت اسکی داخل فایل قرار می گیرند و کد نمی شوند کسی دلیل آنرا می داند؟
درضمن اگر بخواهم کل یک فایل باینری را که محتویات آن از نوع String است بخوانم باید چکار کنم چون دستور readstring فقط یک رشته را می خواند نه کل فایل را
ممنون

dot_net_lover2
سه شنبه 26 اردیبهشت 1385, 09:21 صبح
از Stream Reader استفاده کن.

reyahy
سه شنبه 26 اردیبهشت 1385, 10:53 صبح
آیا راهی هست که کدهای باینری خوانده شده را به ascii تبدیل کند؟

Behrooz_CS
سه شنبه 26 اردیبهشت 1385, 14:41 عصر
با کلاس های زیر کار کن

FileStream
BinaryReader
BinaryWriter

endofcsharp
سه شنبه 26 اردیبهشت 1385, 15:04 عصر
مرد حسابی ، فکر میکنی اگه از streamWriter استفاده کنی و مثلا پسوند فایلت رو بذاری dat اونوقت باینری ذخیره میشه ؟؟ !!!!!

باید از کلاسهای BinaryWriter و BinaryReader استفاده کنی !

اگه هم امنیت خیلی برات مهمه که الگوریتم های رمز نگاری هم هست

reyahy
سه شنبه 26 اردیبهشت 1385, 17:41 عصر
اولا اینکه من از کلاسهای binaryreader و binarywriter استفاده کردم!!!
ثانیا من جواب سئوالم رو خواستم نه راه حل دیگه !!
آقا بهروز ممنون من از همین کلاسها استفاده می کنم ولی جواب سئوالم را ندادید

endofcsharp
چهارشنبه 27 اردیبهشت 1385, 11:27 صبح
بسیار خوب

برای من هم جالبه که به صورت اسکی ذخیره میشن

برای همه کاراکترها اینطوره ؟

ضمنا شما میتواننین از یک حلقه while استفاده کنین

موفق باشین

reyahy
چهارشنبه 27 اردیبهشت 1385, 14:22 عصر
کاراکترها به این صورت ذخیره می شند:愆浤湩ĪĪĪ
ولی در بازیابی اونا باید دوباره اسکی بشند اما نمی دونم چه جوری باید این کار را بکنم
آخه اینا کدها باینری هم نیستند!

hassan_kahrizy
پنج شنبه 28 اردیبهشت 1385, 05:47 صبح
بسمه تعالی
با سلام
فکر کنم اگر تبدیل به unicode کنی حل بشه

Behrooz_CS
سه شنبه 02 خرداد 1385, 16:46 عصر
دوست عزیز فایل به دو دسته باینری و متنی تقسیم می شه و نه بیشتر

شما باید از کلاس
FileStream
استفاده کنی

داده ها را باید به آرایه ای از بایت تبدیل کنی و بعد بنویسی
بعد هم برای خوندن باید به صورت آرایه ای از بایت ها بخونی و بعد به قالب دلخواهت تبدیل کنی

مثلا برای تبدیل
UNICODE
به بایت از این استفاده کن


UnicodeEncoding UE = new UnicodeEncoding();
byte[] buf = UE.GetBytes(InputString);


و برای تبدیل بایت ها به
Unicode
از این استفاده کن


UnicodeEncoding UE = new UnicodeEncoding();
string str = UE.GetString(buf)


موفق باشید