Bir dosyayı sıkıştırmak onu bozabilir mi?


85

Sadece birinden bana sıkıştırılmış bir psddosya göndermesini istedim .

Bir dosyayı sıkıştırmanın fontları kırabileceğini öne sürerek reddetti .

Bir dosyanın sıkıştırılmasının mükemmel bir şekilde geri dönüşümlü olduğunu ve bu nedenle yaygın olarak kullanılmasının neden olduğunu varsaydım. Bence diğer kişi yanlış.

Dosyalarının içeriğini kırma konusunda herhangi bir gerçek var mı?


51
Belki de diğer kişi, testin çirkin görünmesine neden olabilecek jpeg sıkıştırmasıyla (kayıplı) bir dosyayı sıkıştırmayı (kayıpsız) karıştırmıştır.
Matt H

Bir zamanlar zip dosyaları için uyumluluk sorunları yaşadığımı biliyorum, çünkü dosya formatı tüm platformlarda kullanılıyor ...
jokoon

1
Hem Winrar'ın hem de WinXP'nin yerleşik tesislerinin dosya kırdığı (tek bir zipfilde onbinlerce) kesinlikle kesin 'patolojik' vakalar yaşadım . Bu 4-5 yıl önceydi ve o zaman bulabildiğim tek çözüm 7 fermuar kullanmaktı. En iyi olarak ben bile 7-Zip başarıyla olamazdı hatırlıyorum halletmek arıza sıkıştırılıyor değil Ayıklama oldu düşündüren diğer rutinler tarafından oluşturulan dosyaları. Açıkçası üretim sisteminde her iki taraf için de 7 fermuar kullanmayı seçtim.
FumbleFingers

1
@jokoon: Tüm platformlarda kullanılan bir dosya formatından bahsetmenin geçerli olduğundan emin değilim . Zip dosyalarında kullanılan epeyce farklı dahili biçimler vardır ve paketin açılması sırasında kullandığınız başka bir rutin tarafından kusurlu bir biçimde desteklenen bir format kullanılarak bir paketleme rutini tarafından bir arşiv oluşturulabilir.
FumbleFingers

@Becerememe; Ancak yine de, düzgün bir arşiv hash değişikliğini yakalamalı ve operasyonu bir başarısızlık olarak rapor etmelidir - etrafta bozuk bir dosya bırakmaz.
Phoshi

Yanıtlar:


133

Hayır, bir dosyayı sıkıştırmak onu kıramaz. Zip dosyanızın bozulmaması durumunda, açıldığında aynı dosyayı yeniden oluşturur.

Bu durumda, iki farklı sisteme yüklenen yazı tipleri arasındaki fark sorunlara neden olabilir, ancak bu zip / unzip işlemi ile tamamen ilgisizdir.


4
Şüphelendiğim şey bu. Cevabınız için teşekkürler.
alex,

34
Ek olarak, bazı zip formatları artıklığı desteklemektedir, yani zip olarak saklamak aslında düz dosyayı saklamaktan daha güvenli olabilir .
BlueRaja - Danny Pflughoeft

Bu kadar hızlı bir şekilde hayır dememelisiniz, orada tüm uygulama işletim sistemlerini ve zip dosyalarını oluşturabilen diğer şeyleri sayarak, bir çok sıkıştırma / açma dosyası uygulaması var, bazı uygulamaların başkalarıyla ilgilenmediğinden şaşırmam. .
jokoon

@jokoon: o zaman açıkça hariç tuttuğu dosyalar bozulmuş olurdu
mbx

3
-1 Teoride bu doğrudur, ancak pratikte Mac fontlarının bir PC'de 0 bayt olarak sıkıştırılmasıyla ilgili sorunlar vardır. Bu, yaratılan bir kaynak çatalından kaynaklanmaktadır. Kendiniz deneyin ve görün.
Django Reinhardt

80

In genel kullanım, zip kayıpsız (Böcek-freeimplementation varsayarak), ama orada bir veri kaybı için geçerli olabilecek senaryo: NTFS alternatif veri akışları. Bu az kullanılan özellik, tek bir dosyanın birden fazla bağımsız içerik kümesine sahip olmasını sağlar. Kodların çoğu yalnızca adlandırılmamış akışı görür , ancak diğerleri olabilir.

Yani; eğer bir program verileri NTFS Alternatif Veri Akışına kaydetmeye karar verdiyse, zip istemciniz bu bölümü görmeyecektir (açıkça sorması gerekir ve şu anda bunu yapan tek kişi RAR'dır ).

Ancak vurgulamak için: bu çok nadir kullanılır ve normalde PSD gibi şeylerde kullanılmaz. Arkadaşınızın / arkadaşınızın kesinlikle yanlış olduğunu düşünüyorum.


11
Vay, bu benim için tamamen yeni bir bilgi.
kizzx2

5
Benim için yeni ve tuhaf. Bir dosya ne zaman bir dosya değildir? İçeriği istediğinde mutasyona uğradığında. Daha kötü yanılmalar duydum, ama çok değil.
msw

7
@ msw - isteksizce mutasyona uğramazlar; basitçe - tek bir dosya kaydıyla ilişkili birden fazla veri parçası olabilir. Neredeyse her zaman tam olarak bir tane var (çok nadiren kullanılıyor), ama ...
Marc Gravell

4
SO'ya geri dönün! Çok teknik! (sadece şaka yapıyorum;)
Byron Whitlock


32

Mac fontunun sıkıştırılmış ve sıkıştırılmış halde açılmamışsa aynı olamayacağı durumlar vardır. Bu, onu bozmayabilir, ancak yukarıdaki açıklamaların aksine, işlem aynı bir dosya sağlamayabilir.

Koşullar burada tartışılmaktadır:

http://xahlee.org/UnixResource_dir/macosx.html

http://ask.metafilter.com/59789/How-to-email-my-font

Ancak kısaca:

  1. Kaynak çatal içeren çok eski fontlarsa ve kullanıcının Mac OS X'in eski bir sürümü varsa, genellikle 10.4 veya daha önceki bir sürümü varsa. Bunun gibi eski fontlar OS X üzerinde çalışır, ancak başlangıçta OS 9 ve Macintosh işletim sisteminin önceki sürümleri için tasarlandılar. Bazı kişilerin hala 20 yıl kadar önce oluşturdukları bir font kütüphanesini kullanması tamamen muhtemeldir (ve benim tecrübeme göre ortaktır). Tipik olarak bunlar sanatçılar ve sanat yönetmeni türleridir. Örneğin, 1993’te yaratma tarihleriyle birlikte birkaç yazı tipine ve 1998’de çoğunu kaynak çatallarıyla oluşturduğum yüzlerce yazıya sahibim. Kesinlikle bunları daha modern biçimlere dönüştürmeliydim ya da kullanmayı bırakmalıydım, ama kabul edelim: Adobe Font Kütüphanesini bir kez satın aldığınızda, bir daha asla almak istemezsiniz. Yıllarımda reklamcılıkta sanat yönetmenleriyle çalışmak,

  2. İşletim sisteminin belirli sürümlerinde bazı meta veriler çıkarılacak. Meta veriler, dosyanın bilgi alanına eklenen şeyler olabilir. Bu, dosyayı bozmaz, ancak yine de gidiş dönüş zip-unzip aynı bir dosya oluşturur.

Not: Birinin PSD dosyasını bir başkasına teslim etmek için sıkıştırması durumunda, düzleştirilmediğini ve yazı tipinin taslak haline dönüştürülmediğini, bunun da yazı tipinin PSD ile teslim edileceği anlamına geldiğini varsayıyorum. böylece alıcı taraftaki kişi dosyada kendi değişikliklerini yapabilir. Bu yaygın bir uygulamadır.


2
+1 - Keşke bunu yığının en üstüne itecek kadar puan verebilseydim. Mac OS, yazı tipi verilerinin kaynak çatalında depolandığı, Tip 1 ve TrueType yazı tiplerinin her ikisine de sahiptir. İşletim sistemindeki yerel zip / unzip araçları bu durumu incelikle ele alabilse de, tüm araçlar (özellikle OS X'e aktarılmış komut satırı araçları) işlemez. Daha da kötüsü, değil fontları sıkıştırma ve e-posta veya FTP yoluyla göndermek için çalışıyor olacak onları kırmak!
afrazier

1
Fakat buradaki problem, yapıp yapamayacağınız değil, onları nasıl sıkıştırdığınızla ilgili gibi görünüyor. Kaynak çatallarını anlayan bir programa ihtiyacınız var ve nasıl kullanılacağını bilmek zorundasınız. Bunu doğru mu okuyorum?
Slackr

@uSlackr, doğru, ancak sorun alıcı sonunda devam ediyor. Ardından arşiv Windows'a taşınmışsa, muhtemelen bir yazı tipi dosyası yığınına sahip olursunuz, çünkü Windows (özellikle NTFS) bir dosyada birden fazla veri akışına izin vermesine rağmen, Windows'daki fontlar bu şekilde çalışmaz. Bununla birlikte, PSD dosyasının kendisinin Mac ve Windows arasında taşınabilir olması muhtemeldir.
RBerteig

+1 - örnek olarak, Mac fontlarınızı bir ağ sürücüsüne kaydedin ve Windows veya Linux bilgisayardan ne kadar büyük olduklarını görün - 0 bayt! 'Sadece işe yarıyor' fikrini kafan karıştıran kaynak çatalı.
ʍǝɥʇɐɯ

Evet, endüstrimde Mac fontlarının fermuarlamadığı bilinen bir gerçek. Genellikle bir PC kullanıcısı onları 0 bayttan çıkarır.
Django Reinhardt

14

ZIP, açılmış olan dosyanın paketlemeden önceki ile aynı olup olmadığını kontrol etmek için sağlama toplamı kullanır.

Yani bir nedenden ötürü değiştirildiyse (örneğin, bozuk arşiv) - açılmayacaktı bile.


zip kayıpsız sıkıştırma kullandığından (veya 'depolama' olduğundan, sıkıştırma devre dışı kalabilir). sağlama toplamı, bir şeyler ters gittiğinde yalnızca geri bildirim sağlayabilen arı yetiştiriciliğidir.
akira

13
Soyulumu bağışlayın, fakat ZIP bir sağlama toplamı kullanmaz - çok daha geniş bir hata aralığını tespit eden 32 bit döngüsel artıklık denetimi (aka CRC-32 ) kullanır.
Bevan

5
"Checksum" terimi, eğer insanlar kriptografik hash fonksiyonlarının "checksum" sonuçlarını söyleyebiliyorsa, orijinal tanımlarından çok daha geniş bir anlam ifade ediyorlar .
Random832

9

Yalnızca üzerinde metin modu dönüştürme yapmak gibi saçma bir şey yapıyorlarsa veya gömülü bir zip ile karıştırılan bir yerde kırık bir zip / unzip varsa. (Bu tür hatalar geçmişte meydana geldi - yani belki 10 yıl önce.)


4

Zip, geri aldığınız verilerin koyduğunuz verilerle aynı olmasını sağlamak için kayıpsız bir sıkıştırma algoritması kullanır.

(BTW, jpg, mpeg, mp3 gibi diğer teknolojiler, gözlerimizin ve kulaklarımızın çok hassas olmadığı teorisi ile sıkıştırmak için kayıplı teknikler kullanıyor)


0

"Sıkıştırma yazı tiplerini bozma" ifadesinde görebildiğim tek gerçek, PSD dosya biçiminin kendisinin "sıkıştırılmış" bir sürümü veya seçeneği varsa, bu dosyaları oluşturduğu herhangi bir programda etkinleştirebilirsiniz ve bu seçenek yazı tiplerini farklı şekilde işler.

Herhangi bir zip programını kullanmak, arabası olmadıkça iyi olmalıdır.

Marc'a cevaben, eğer bunları anlamayan bir sıkıştırılmış biçimde yumuşak ve sert bağlantılar içeren bir dizin yapısını dener ve sıkıştırırsanız, EXT dosya sistemlerinde de potansiyel dosya sistemi sorunları vardır (bu yüzden her zaman bir .tar.gz yaparım. orada bir .zip). Ayrıca, göreceli yollara sahip yumuşak bağlantıları sıkıştırmak, sonra başka bir yerden açmak, elbette işe yaramaz, ancak bu zip programının hatası değildir.


0

Daha önce bu sorunu yaşarlarsa (bir PSD'nin bozulmasına neden oluyorsa) kompresör yazılımı arızalıdır, PSD'de ihtiyaç duydukları tüm dosyaları içermezler ve / veya bilgisayarlarına virüs bulaşır.

Onlara sadece bu son seçeneği atmak için, dosyaları USB disklere taşıyarak benzer bozulmaların olup olmadığını sordum.


0

Sadece bütünlük için bir uyarı daha eklemek için: Sıkıştırma, dosyanın izinler veya son erişilen zaman gibi meta verilerinin kaybolmasına neden olabilir.

Bunun genellikle PSD dosyaları ve yazı tipleri ile alakalı olduğuna inanmıyorum.


Kayıpsız bir sıkıştırma algoritması kavramı ve bu görevi gerçekleştiren programlar konusunda bir yanlış anlaşılma olduğunu düşünüyorum. Kayıpsız araçlar, sıkıştırılmış olan ikili akışın aynı çıkış ikili akışına sıkıştırılmasıdır. Meta bilgiler işletim sistemine bağlıdır ve işletim sistemi ve / veya uygulama tarafından ele alınması gerekir.
Bora

1
Teşekkürler, @Bora, ama böyle bir yanlış anlaşılma yok. Sıkıştırmanın dosyadaki gerçek verileri etkilemediğini biliyorum. Fermuarın dosyalarına ve dizinlerine zarar verdiğini düşünmeleri için insanları kandırabilecek bir "dış" neden öneriyorum. Geçmişte sıkıştırılmış yedekleri geri yükleyerek yakaladım, yalnızca uygulamalarımın artık çalışmadığını bulmak için, çünkü henüz getirmediğim meta verilere bağlılar. (Benim açımdan basit bir yanlış anlama değil, sadece bir gözetim.)
Tuhaf,

0

Zip, dosya adlarını bozabilir. Bu şekilde zip unicode kullanmaz. Dosya adlarının kodlanması belirtilmemiş ve pencerelerde geçerli yerel ayar kullanılıyor.

Bu nedenle farklı bir sisteme aktarıldığında dosya adlarınız karışır.

En son programların (sanırım sürüm 11'den beri winzip) kullandığı bir Zip biçimi uzantısı var.

Ben 7z eversince tercih edeceğim fermuarını açamayan japon isimleri ile dolu bir zip vardı.


0

Bir zip dosyasının içeriğini tam olarak çoğaltması gerekiyordu.

Bir İlgili Not olsa - daha zordur kurtarmak verileri bir zip dosyası bozuk alırsa veriler orijinal formatta ise daha. Neden? Birçok dosya formatı fazlalık olarak oluşturulmuştur ve küçük hataların düzeltilebilir olması veya küçük hataların kritik olmaması için tasarlanmıştır.

Bir video dosyası düşünün. Çoğu formatta, eğer küçük bir kısım bozulursa, videonun bu küçük kısmında geçici bir titreme göreceksiniz, ancak yine de videoyu izleyebilirsiniz. Ancak, video dosyası sıkıştırılırsa, hata düzeltme özelliği azaltılır ve bozulma derecesine bağlı olarak, dosyayı açıp / videoyu izleyemeyebilirsiniz. (Bu, her durumda çoğu video formatını sıkıştırmanın bir faydası olmadığı için tartışmalı bir örnektir).

Bu, herhangi bir sıkıştırma formatı için geçerlidir - tanım gereği sıkıştırma, fazlalıkları azaltır ve dolayısıyla hata düzeltme yeteneklerini ve bunun bir takasıdır.


Yukarıda da açıklandığı gibi, bazı zip dosyası formatları yedekliliği desteklemektedir. Bu, orijinal formattan daha güvenli bile olabilir.
DMan
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.