Czy ktoś wie o dobrej bibliotece skompresowania open-source dla .NET?Open-source biblioteka zip dla .NET?
Odpowiedz
Odnośnie uwag i innych stanowisk o wewnętrznej realizacji gzip, są nie samo! GZip nie tworzy nagłówka wymaganego do archiwizacji; jest użyteczny tylko do "zipowania" jednego pliku lub strumienia.
Prawidłowe archiwa zip zawierają nagłówek, który zawiera listę wszystkich skompresowanych plików i skąd pochodzą skompresowane dane, a zatem potrzebujesz czegoś, co tworzy nagłówek. Oznacza to SharpZipLib, jedną z wielu komercyjnych wersji lub używających czegoś zewnętrznego z powiązaniami .NET jak 7zip.
Na zasadzie "ktoś inny", ktoś chce powiedzieć: "Ale cały czas widzę w Linuksie pliki .gz
!" - to tylko pojedyncze pliki i .tar.gz
nie jest wyjątkiem - tar jest archiwum. .gz
to skompresowane archiwum.
Nie potrzebujesz tego .NET ma wbudowaną funkcjonalność: zobacz klasę gzipstream. – AnthonyLambert
gzipstream nie jest niczym w pobliżu zip-funkcjonalności. –
Wydaje mi się, że jesteś zbyt pochłonięty plikami ... gzip to ogólny format kompresji. – AnthonyLambert
Spróbuj sprawdzić 7-zip. To program open source i mój ulubiony program zip. bardzo kewl. wykorzystuje także wiele rdzeni.
Zestaw .NET SDK jest dostępny pod numerem here.
Dude - 7 zip IS program zipujący. To także open source ... więc to znaczy, że jest .NET, prawda? ==> Kod źródłowy C# dla kompresji i dekompresji LZMA –
+1, SDK jest również domeną publiczną, to brzmi dla mnie naprawdę dobrze. – Tuminoid
Słowo ostrzeżenia: (bezpieczna) implementacja C# 7-zip jest bardzo, znacznie wolniejsza niż biblioteka niezarządzana, coś jak 10x (prywatne wrażenie, nie było testu porównawczego, ponieważ różnica była tak duża). –
**** Ale faceci NET Już wspiera open source zip .... ****
http://msdn.microsoft.com/en-us/library/system.io.compression.gzipstream.aspx
jest to zgodne z bibliotekami GZIP. Użyłem tego do skompresowania danych w języku C# i rozpakowania w sieci w aplikacji C++. Działa w porządku.
Tony
Jak współczynnik kompresji jest porównywany z 7-Zip? –
To samo, co gZIP. – AnthonyLambert
Przestrzeń nazw system.io.compression nie została całkowicie otwarta, przydatne rzeczy znajdują się w przestrzeni nazw microsoft.internal. W system.io.compression jest to tylko część przydatna do tworzenia małych spakowanych plików, takich jak nowe pliki pakietu Office, a nie rzeczywiste pliki zip. –
DotNet Zip Library (Ionic.Zip.dll) jest bardzo łatwy w użyciu. Czuję, że jest łatwiejsze do wdrożenia niż SharpZip.
można również zapoznać się z J # REDIST. Ponownie implementuje java.util.zip. Article
Kilka komentarzy.
- Nie należy używać środowiska wykonawczego J #. J # zostało wycofane przez Microsoft. Przyszłe wsparcie jest wątpliwe. Poza tym całe środowisko uruchomieniowe J # jest wielkim orzechem do przełknięcia, gdy potrzebujesz tylko obsługi ZIP.
- GzipStream w System.IO.Compression, część biblioteki klas bazowej .NET od .NET 2.0, zapewnia interfejs strumienia dla kompresji IETF RFC-1952. Kompresja jest w porządku, chociaż współczynnik kompresji nie jest optymalny i znacznie rozszerzy dane, które zostały wcześniej skompresowane. To jest bug was reported to Microsoft, but it's apparently been closed. Istnieje również DeflateStream, który jest podobny, ale dla RFC 1951. Istnieje powszechne nieporozumienie, że GZipStream robi pliki zip. Nie prawda. Żadne z tych dwóch plików zip nie jest wykonywane.
- There's System.IO.Packaging.ZipPackage.Działa, ale jest zaprojektowany i przeznaczony głównie do pakowania plików MS Office 2007 (.docx, .xslx i .pptx). Jest nieporęczny dla plików zip i nie obsługuje wielu funkcji ZIP, takich jak szyfrowanie.
- Jeśli potrzebujesz elastycznego sposobu tworzenia i odczytywania plików zip w .NET, potrzebujesz obecnie biblioteki innej firmy.
DotNetZip to dobra opcja dla firm trzecich. Darmowy, otwarty, aktywnie utrzymywany, prosty w użyciu, mały, dobry zestaw funkcji. Jest wysyłany jako pojedynczy zestaw - jest to w pełni zarządzany kod. Działa na Compact Framework, jak również na zwykłym .NET Framework. Wstępnym wymaganiem jest .NET 2.0.
DotNetZip zawiera również bibliotekę ZLIB z klasami takimi jak {Zlib, GZip, Deflate} Stream. Są one porównywalne do tych wbudowanych w .NET, ale obejmują one możliwość ustawienia poziomów kompresji, a na wyższych poziomach kompresują o wiele bardziej efektywnie niż wbudowane klasy. Kompresja ZlibStream wykonuje RFC 1950.
DotNetZip robi ZIP64, hasła, szyfrowanie AES, strumienie, SFX i Unicode. Każdy, kto go używa, twierdzi, że jest o wiele prostszy w użyciu niż SharpZipLib. Jest dobry plik pomocy (.chm) i mnóstwo przykładów kodu.
Czy wiesz, czy DotNetZip może być częścią projektu open source? Słyszałem, że licencji publicznej Microsoft nie można używać razem z licencją GPL. – Zenya
Po pierwsze, nie jestem rzecznikiem praw własności intelektualnej ani ekspertem od licencji oprogramowania i ich wzajemnej zgodności. Jestem jednak pewien, że mogę odpowiedzieć na twoje pierwsze pytanie twierdząco: DotNetZip może być użyty w projekcie open source. W twoim komentarzu znajduje się drugie, domyślne pytanie: czy biblioteka licencjonowana w ramach MS-PL może być używana razem z kodem lub biblioteką licencjonowaną na warunkach licencji GPL? To zupełnie inne pytanie i nie będę próbował na nie odpowiedzieć. Nie jestem pewien, ale z twojej strony może być pewne założenie, że "open source implikuje GPL". To nie jest prawidłowe założenie. – Cheeso
Świetna biblioteka, dzięki! – nrodic
- 1. OpenSource .net SMS library
- 2. opensource .Net serwer Jabber/XMPP?
- 3. Biblioteka SASL dla .net
- 4. Biblioteka stałej propagacji dla .NET
- 5. Biblioteka/komponent SAML dla .NET
- 6. Dobra biblioteka Tiff dla .NET
- 7. . Biblioteka .NET dla plików z plikami woluminu z podziałem objętości?
- 8. A Alternatywę opensource dla basecamp?
- 9. Biblioteka QR dla MonoTouch?
- 10. Czy istnieje alternatywa dla opensource dla StreamBase?
- 11. Biblioteka serwerów SMTP i IMAP dla .NET
- 12. Szybka biblioteka kompresji PDF dla .NET
- 13. Czy istnieje biblioteka programowania funkcjonalnego dla .NET?
- 14. Dobra biblioteka niskiego poziomu dla .Net
- 15. Wielowątkowa biblioteka UDP serwera sieci dla .net
- 16. Biblioteka zbierania statystyk użytkowania UI dla .NET
- 17. Biblioteka EXIF dla .NET 4.0 framework
- 18. Biblioteka narzędzi Java dla obsługi plików zagnieżdżonych ZIP
- 19. Biblioteka skryptów C#/.NET
- 20. . Biblioteka Geometrii .NET
- 21. Najszybsza biblioteka dekompresująca GZIP w .NET
- 22. Zalecana biblioteka szyfrowania .NET
- 23. . Biblioteka synchronizacji plików .NET
- 24. Czy istnieje struktura opensource dla canvas 3D?
- 25. C++ Projekt OpenSource dla początkujących programistów?
- 26. Tworzenie aplikacji internetowych z Mono (opensource .NET) dowolne przykłady?
- 27. Najlepsza biblioteka graficzna .NET/Mono
- 28. Opensource IDE Online
- 29. Standardowa biblioteka .NET kontra .NET Standard
- 30. pobierz wiele plików jako zip w .net
Może zostały przeredagowane „muszę generować archiwów zip przy użyciu .NET. Ale Net brakuje wsparcia archiwum ZIP. Jak możemy rozwiązać ten problem?”. Ale ponieważ fx 4.5 to wygląda naprawione przez [System.IO.Compression.ZipArchive] (https://msdn.microsoft.com/en-us/library/system.io.compression.ziparchive (v = vs.110) .aspx). –