الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

حاجة غريبة تحدث مع ملفات binary .

مغلق
بدأه Abdullah.Alshammeri في 27 يوليو 2006 · 5 رد · 586 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم .

ما ادري من وين ابدأ .. لكن سأتكلم .. وانتم استنتجوا السؤال من السطور التالية :D :

انا فتحت ملف عادي txt .. ثم أردت تحويله الى مشفر .. لكن الملف يبقى عادي ..

	 fstream FileRead	(file_read,ios::in	 );
	 fstream FileWrite	(file_write,ios::out|ios::app|ios::binary   );
	 char ch; 



	 while(!FileRead.eof() )
	 {
		 FileRead.get(ch);
		 FileWrite.put(ch);

	 }

	 FileRead.close();
	 FileWrite.close();

ايضا ,, يوجد مشكلة ...

احيانا افتح ملف للكتابة المشفرة .. ولما اكتب الى ذلك الملف تصبح الكتابة مقروءة وغير مشفرة

اي اذا فتحتوا الملف ذو الامتدادا pac بالمفكرة فانك ستقرأ في اول الملف arab

بالرغم من اني اكتب بطريقة مشفرة

	 fstream FileRead	("image.jpg",ios::in |ios::binary   );
	 fstream FileWrite	("image2.pac",ios::out|ios::app |ios::binary  );
	 char ch; 

	 FileWrite.write("arab20",6);

	 while(!FileRead.eof() )
	 {
		 FileRead.get(ch);
		 FileWrite.put(ch);

	 }

	 FileRead.close();
	 FileWrite.close();

باختصار ..

كيف اعرف ان الملف الذي فتحته ملف عادي أو مشفر

مالذي سيحصل اذا فتحت ملف على انه ملف مشفر ولكن حصلت على مابه من بيانات ثم كتبت هذه

البيانات الى ملف عادي غير مشفر .

مالذي سيحصل لو فتحت ملف عادي غير مشفر ثم حصلت على مابه من بيانات ثم كتبتها الى ملف اخر مشفر .

لاني اريد ان اعمل برنامج يقرأ الملفات أيا كان نوعها .. مشفرة او غير مشفرة .

ثم اقرأ محتويات تلك الملفات واكتبها لملف مشفر ..

اكيد دوختكم .. انا والله دخت من العصر الى الحين .

ننتظر العون .

logo1.png تطبيق طمأنينة ، نسخة بيتا على أندرويد

عبدالله الشمّري - Al-Shammari

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#2
	 fstream FileRead	("image.jpg",ios::in |ios::binary   );
	 fstream FileWrite	("image2.pac",ios::out|ios::app |ios::binary  );
	 char ch; 

	 FileWrite.write("arab20",6);

	 while(!FileRead.eof() )
	 {
		 FileRead.get(ch);
		 FileWrite.put(ch);

	 }

	 FileRead.close();
	 FileWrite.close();

أخي الشمري أين هو التشفير هنا؟ تقرأ chr و تسجلها دون أية تشفير!!

		 FileRead.get(ch);
		 FileWrite.put(ch);

لا تعمل أية تشفير هنا :P ,

		 FileRead.get(ch);
ch =~(ch);
		 FileWrite.put(ch);

هذا مثلا نسميه تشفير ;)

سأتغيب عن المنتدى وستكون لي زيارات خفيفة بين الحين و الحين

يا صاحب الهم إن الهم منفرج.....................أبشر بخير فإن الفارج الله.

اليأس يقطع أحيانا بصاحبه..........................لا تيأس فإن الكافي الله.

الله يحدث بعد العسر ميسرة.........................لا تفزعن فإن الصانع الله.

إذا بليت فثق بالله وارض به...................فإن الذي يكشف البلوى هو الله.

و الله ما لك غير الله من أحد.......................فحسبك الله في كل لك الله

أخوكم مراد

27_06_06_05_21_41_1151410901logo_adl_wal_ihsan.jpg

#3

ما فعلته ليس تشفيراً بالمرة بل أنت قمت بقراءة الملف الأول حرف حرف أو بمعنى أصح Byte Byte و كتبه مرة أخرى في الملف الاخر (و لكن على صورة Binary) و في الواقع أنت سجلت ASCII Character على انها Binary و هذا ليس جديد قكل ملفات النصوص عبارة ASCII characters كل character هو byte واحد و عندما تفتح الملف بأي برنامج مثل Notepad فانه يقرأ كل ASCII و يرسم أمامك الحرف المناظر له ....

Sr. Software Development Engineer
Hulu, LLC
My Blogs

#4

هذي الـ text و الـ binary ليس لها علاقة بالتشفير.

كل الملفات تقرأ كسلسلة من البايتات .. تستطيع تفسير كل بايت على انه حرف او على انه اي شيء آخر.

ما تفعله هنا هو انك تقرأ البايت ثم تكتبه مرة أخرى كما هو!!

#5

أخى الملفات البينارى التى تفتحها و تجدها غير مقروؤه لا تحتوى على "حروف" لكنها تحتوى على raw binary data لذلك عند محاولة أى برنامج تكست لتفسيرها تنتج بعض الحروف و الرموز العشوائية. فى حالة الحروف فكما أشار الإخوة فالملف يحتوى على كود بينارى برضه بس يمثل حروف و لذلك تنجح برامج التكست فى عرض حروف مفهومة.

#6

فهمت :D

يعطكيم العافية .

تم تعديل هذه المشاركة بواسطة الشمري في 28 يوليو 2006 في 20:23

logo1.png تطبيق طمأنينة ، نسخة بيتا على أندرويد

عبدالله الشمّري - Al-Shammari

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

هذا الموضوع مغلق.

مواضيع مشابهة