Arkadaşlar winrar programında ki parçalama algoritmasını merak ediyorum.
Şöyle düşünelim, bu program belirli büyükteki bir dosyayı, programı ya da başka bir şeyi belirtilen boyuttaki ciltlere bölüp, daha sonra nasıl sorunsuz şekidle birleştirebiliyor ?
Yani 1 gb büyüklüğündeki bir avi uzantılı filmi 5 parçaya bölüp, daha sonra nasıl aynen o şekile birleştirebiliyor ?
Bu sorum tüm herşey için geçerli,
Bir programı, resmi, müziği, vidyoyu NASIL BÖLÜYOR ?
Winrar Programı Parçalama Algoritması.
10
●2.905
- 28-03-2008, 03:07:01Kimlik doğrulama veya yönetimden onay bekliyor.
- 29-03-2008, 22:22:48Ama varolan veriyi nasıl bölüyor ? Ya da bunu neye göre beliyor ? Çünkü her dosya sadece bir büyüklük değildir. İçindekiler önemli...
- 30-03-2008, 00:30:05benim mantığıma yatan şekli şu : pc'deki herşey 0 ve 1 olarak kayıt altında. bütün herşey 0 ve 1 ler ile yürüyor bilgisayarlarda. 0 elektrik akımı yok 1 var demek. elektrik akımlarına göre herşey yorumlanıp ekrana dökülüyor. winrar'da bi dosyayı 1 ve 0 lı olarak bölüp birleştiriyor olabilir. dosyamız 101101110001100 iken 101 101 110 001 100 olarak bölüp, istendiği an bunları tekrar birleştirip eski haline getiriyor olabilir. sadece mantık yürüttüm saçmalamış olabilirim...
- 30-03-2008, 02:50:44Yanlış anlamayınız, Fakat, o mantıkla ilerlediğini sanmıyorum o program. Fakat yorumunuz için çok teşekkür ederim. Dediğiniz gibi de olabilir...
- 31-03-2008, 18:22:55dosyalarda önemli olan bytelardır.. winrar'ın nasıl yaptıgını %100 bilmemekle beraber benim dedigimi yaparsanız %100 çalışacagına garanti veririm.
Dosya binary modda açarsınız...
toplam kaç byte oldugunu hesaplarsınız. Farzedelim 1000 byte..
1000 byte'ın 5 de birini okuruz ve bir dosyaya yazarız. bu dosyanın adı eski-dosya1.r10 olsun
2. 200 bytelık kısmı eski-dosya2.r10 dosyasına yazarız. bu şekilde devam ederiz....
6. bir dosyada da
ilk olarak kaç parçaya böldügümüzü yazarız.
daha sonra
dosyaların adını yazarız ve ne kadarlık byte tuttuklarını yazarız.. ve hangi aralıklara yazılacagını yazarız.
mesela
eski-dosya0.r10 olsun bunun adı da...
5
eski-dosya1.r10 200 0-199
eski-dosya2.r10 200 200-399
eski-dosya3.r10 200 400-599
eski-dosya4.r10 200 600-799
eski-dosya5.r10 200 800-999
daha sonra eski-dosya.rar'ı oluşturmak için bu dosyalardan anlayan bir program yazarız. Buna eski-dosya0.r10 verdiginde sana eski-dosya.rar oluşturacak şekilde yaparsın.
bu 2. birleştiren programın yapacagı eski-dosya0.r10 daki bilgileri sırasıyla okuyup eski-dosya.rar 'a yazmaktır. bunu da şöyle yapacaksın.. ilk olarak kaç dosyaya böldügünü okuyacak. bakacaksın 5 dosya.. sonra sırayla satırları okuyacaksın. her okudugun satırdaki dosyayı peşpeşe eski-dosya.rar dosyasına yazarsan birleştirilmiş şekilde yeni dosyanı bulacaksın.
Yapacagın programda kullanacagın şeyler. dosya açma dosya yazma.. bunları da binary modda yapacaksın.
Özel bir dille anlatmadım. Çünkü her dilde bu yapılabilir. İstersen php kullan istersen c. zaten sen de algoritmik olarak istemişsin.
Bu şekilde parçalayan ve birleştiren bir program yazabilirsin..
Ben mesela stereo dosyadan mono dosyalar oluşturmuştum buna benzer bir şekille...
wav dosyalarının süresinin kısaltılması da bununla benzer bir işlemdir. Ama yapmanız gereken bir takım işler daha var. Bunları da aklıma geldigi için ekledim...
Şaka bi yana bilen varsa açıklarsa çok iyi olur arada benimde aklıma takılıyo...
) sonra birleştir tekrar jpg yp resim açılacaktır.