問題タブ [lzma]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
zip - 標準の ZIP で使用されるアルゴリズムはどれですか?
ZIP の RFC をグーグル、ウィキ、および読みましたが、ZIP で使用されている正確なアルゴリズムに関する情報が見つかりません。
ZIP == TAR + GZIP に関する情報を見つけました
しかし、私はこの情報に混乱しています。
私が覚えているように、GZIPはLZWアルゴリズムを使用し、TARはLZMAを使用するため、ZIP == TAR + GZIP (LZMA + LZW - ???)
ZIPのアルゴリズムを見つけるのを手伝ってくれませんか? 実装したいです。
c++ - フォルダを圧縮するにはlzma sdkを使用しますか?
http://www.7-zip.org/sdk.html
ファイルを圧縮して使用できますが、フォルダーを圧縮する機能が見つかりません
c - LzmaCompress を使用してアーカイブを作成する
私は圧縮方法と少し混乱しています。私はこの関数の使用方法を知っており、より小さなバッファーを出力しますが、7zip SDK を使用して圧縮データでアーカイブを作成するにはどうすればよいですか?
圧縮アルゴリズムに関連する質問だと確信しています。
python - PyLZMA による解凍
このスクリプトを使用してファイルを圧縮します
この方法を使用すると、ファイルを 7zip または lzma.exe で読み取ることができるため、 PyLZMA のドキュメントに示されているように使用します。7zip を使用した解凍は正常に機能しますが、PyLZMA を使用すると機能しません。私はこれを使用します:
pylzma.decompress で停止し、次のエラーが表示されます。
TypeError: 解凍中のエラー: 1
c++ - Linux で「lzma sdk」をビルドする方法
7-zip
アプリケーションにアーカイブを使用したいので、ダウンロードしますlzma sdk
。Linux (Debian) でビルドしようとしていますが、方法が見つかりません。調べてみましlzma.txt
たが、仕事がどのように完了したか理解できません。また、ドキュメントやチュートリアルが見つかりません。LZMA SDK
Linux は初めてなので、ビルド方法の詳細なガイドが必要です。
launcher - カスタム Minecraft ランチャー
プレーヤーが強制更新をチェックすると、変更された minecraft.jar、更新された lwjgl (どちらも大きな問題ではありません)、および .minecraft ディレクトリに 2 つの追加フォルダーがダウンロードされる、独自の Minecraft ランチャーを作成したいと考えています。最初の 2 つは、MinecraftDownload ディレクトリを自分の Web サイトのディレクトリに変更し、変更したファイルを自分のサイトに配置することで実行できますが、アーカイブを .minecraft ディレクトリにダウンロードして抽出する方法が正確にはわかりません (おそらくそのためのライブラリがすでにそこにあるので、lzmaを使用します)。
私はJavaは初めてですが、vb.netプログラミングを非常にうまく行ったので、標準的な開発用語を知っています。
actionscript-3 - .swf ファイルを保護するための LZMA 圧縮?
私は SWF 保護に少し慣れていませんが、グーグルで調べていると、Sothink SWF Decompilerを使用して簡単に逆コンパイルすることができ、.fla
ファイルをフレーズ化することもできるので、最新バージョンを入手したところ、LZMA 圧縮を使用すると次のようなメッセージが表示されることがわかりました。
swf ファイル「foo.swf」が壊れています。
保存されている場所に行って、ダブルクリックすると完全に機能することがわかりました。root.alpha
また、ローカルでテストした場合にゼロになるようにコードを追加しました。
それで、これは SWF 泥棒に対して十分に有効でしょうか、それとも toKaos、SWF Encrypt などの暗号化ソフトウェアを入手する必要がありますか?
編集:ここで探していたものを見つけました。このトピックに出くわす可能性のある他の人に役立つことを願っています.
actionscript-3 - As3でByteArrayメソッドを使用してLZMA圧縮ファイルを解凍する方法は?
これは私がファイルを圧縮/解凍するために使用しているコードです:
私の問題:このメソッドはLZMA圧縮ファイルを解凍しません:(
上記のコードを再構築してLZMA解凍を実現する方法と、上記の圧縮コードがLZMA圧縮に十分かどうかを教えてもらえますか?そうでない場合は、例を挙げてください。
編集:長い時間の検索の後、私はこれを手に入れまし たが、その中のサンプルコードを完全に理解することはできません:(助けてください、誰か?
c# - LZMA SDK(7-zip)が非常に遅いのはなぜですか
7-zipは素晴らしいと思いました。これを、.netアプリケーションで使用したいと思います。10MBのファイル(a.001)があり、次のようになります。
エンコードするのに2秒。
これで、c#でも同じことができると便利です。http://www.7-zip.org/sdk.html LZMA SDK c#ソースコードをダウンロードしました。基本的に、CSディレクトリをVisualStudioのコンソールアプリケーションにコピーしました。
それから私はコンパイルし、すべてがスムーズにコンパイルされました。そのため、出力ディレクトリにa.001
10MBのサイズのファイルを配置しました。私が配置したソースコードに含まれる主な方法について:
コンソールアプリケーションを実行すると、アプリケーションは正常に動作a.7z
し、作業ディレクトリに出力が表示されます。問題は、とても時間がかかることです。実行には約15秒かかります!https://stackoverflow.com/a/8775927/637142アプローチも試しましたが、非常に時間がかかります。実際のプログラムの10倍遅いのはなぜですか?
また
1つのスレッドのみを使用するように設定した場合でも:
それでもはるかに短い時間で済みます(3秒対15):
(編集)別の可能性
C#がアセンブリまたはCよりも遅いためでしょうか?アルゴリズムが多くの重い操作を行うことに気づきました。たとえば、これら2つのコードブロックを比較します。それらは両方とも同じことをします:
C
出力
c#
出力
c#がどれだけ遅いかに注意してください。リリースモードで外部のビジュアルスタジオから実行される両方のプログラム。たぶんそれが、C++よりも.netの方がはるかに長い時間がかかる理由です。
また、同じ結果が得られました。C#は、先ほど示した例と同じように3倍遅くなりました。
結論
何が問題を引き起こしているのかわからないようです。7z.dllを使用して、c#から必要なメソッドを呼び出すと思います。それを行うライブラリは次の場所にあります:http://sevenzipsharp.codeplex.com/ そしてそのように私は7zipが使用しているのと同じライブラリを使用しています:
ios - LZMA SDKは、RAMを使いすぎてiOS(xcode)用に解凍します
LZMASDKをiPhone/iPadアプリで使用しようとしています。出発点は、Mo Dejongが提供するiPhone用のLZMAサンプルプロジェクトでした 。https ://github.com/jk/lzmaSDK オリジナルはここにあります:http: //www.modejong.com/iOS/lzmaSDK.zip (両方を試しましたが、両方から同じ結果が得られました)。
問題は、抽出が.7zに非圧縮で含まれているのと同じ量のRAMを使用することです。言い換えれば、私が40MBの圧縮ファイルを持っているとすると、非圧縮ファイルは約250MBのバイナリsqlite DBであり、ファイルを250MBまで解凍すると、徐々にメモリを消費します。これにより、iPad1またはiPhone4(256MB RAM)より前のものがクラッシュします。多くの人が最終的にこの同じ問題に遭遇するだろうと私は感じているので、解決策は多くの開発者を助けることができます。
私はもともと、Windowsベースの7-zip(最新バージョン)と16MBの辞書サイズを使用してPC上で.7zファイルを作成しました。解凍するのに必要なRAMは18MBだけです(これは、タスクマネージャーを確認しているPCでテストする場合です)。また、keka(オープンソースのmacアーカイバ)を使用してアーカイブを作成しようとしましたが、何も解決されませんでしたが、keka自体がmacでファイルを抽出するときに19MBのRAMしか使用していないことを確認できます。次のステップは、KekaのソースコードをLZMASDKのソースコードと比較することだと思います。
.7zファイルを作成するときに、さまざまな辞書サイズやその他の設定を試してみましたが、何も役に立ちませんでした。また、圧縮する前に単一のバイナリファイルを24個の小さな部分に分割しようとしましたが、それも役に立ちませんでした(24個を抽出するために250MBを超えるRAMを使用します)。
元のコードに加えた唯一の変更は、より大きな.7zファイルを使用することであったことに注意してください。また、抽出が完了するとすぐにRAMが解放されますが、それは役に立ちません。本来のように抽出するようにRAMを解放していないように感じます。または、実行が完了するまでコンテンツ全体をRAMに入れてから、RAMから移動しているように感じます。また、Macアプリを使用して同じファイルを抽出しようとすると、インストルメントを実行しているときに同じ動作が見られません(たとえば、StuffIt Expanderは、ファイルの抽出中に約60MBのRAMで最大になりました。Keka、オープンソースのMacアーカイバは19MBのRAMで最大になりました)。
私は(まだ)mac / xcode / Objective-cの開発者ではないので、これについての助けをいただければ幸いです。代わりにzipまたはrarを使用することもできますが、LZMAを使用するとはるかに優れた圧縮が得られるため、可能な限りこのソリューションを使い続けたいと思いますが、クラッシュせずに動作させる必要があります。
ありがとう!