7z তে সংযুক্তি পদ্ধতিগুলির সংমিশ্রণটি আসলে কী করে?


11

7z কমান্ড-লাইন সরঞ্জাম আপনাকে একাধিক সংক্ষেপণ পদ্ধতি নির্দিষ্ট করতে দেয় : যেমন:

# 7-zip archive type, strongest (9) compression, methods PPMd, BCJ2, LZMA2
$ 7z a -t7z -mx=9 -m0=PPMd -m1=BCJ2 -m2=LZMA2 myarchive.7z somefile.xml

সমস্ত পদ্ধতি কোনও উপায়ে ব্যবহার করা হয়, বা কমপক্ষে মেটাডেটাতে নির্দিষ্ট করা হয়:

$ 7z l -slt myarchive.7z

7-Zip [64] 9.22 beta  Copyright (c) 1999-2011 Igor Pavlov  2011-04-18

Listing archive: myarchive.
7z

--
Path = myarchive.7z
Type = 7z
Method = LZMA2 PPMD BCJ2
[..]

----------
Path = somefile.xml
[..]
Method = PPMD:o32:mem192m BCJ2 LZMA2:48m
Block = 0

এটি তিনটি পদ্ধতির মাধ্যমে ফাইলটি চালানোর জন্য প্রদর্শিত হয় না , সেরাটি বাছাই করে। পরিবর্তে, এটি দৃশ্যত সর্বদা প্রথমটিকে পছন্দ করে, কারণ পদ্ধতির ক্রম পরিবর্তন করা ফাইলের আকারকে উল্লেখযোগ্যভাবে প্রভাবিত করে।

এমনকি যদি আমি একাধিক ফাইল যুক্ত করি, যেমন একটি এক্সএমএল ফাইল (পিপিএমডি সেরা সংক্ষেপণ দেয়) এবং একটি বাইনারি ফাইল (এলজেডএমএ 2 থাকে) তবে এটি উভয় ফাইলের জন্য সমস্ত পদ্ধতি তালিকাভুক্ত করে এবং প্রতি ফাইলটিতে গতিশীল পরিবর্তন করতে উপস্থিত হয় না।

প্রকৃতপক্ষে, ডকুমেন্টেশনটি স্পষ্টভাবে বলেছে যে "আপনি যে কোনও পদ্ধতি ব্যবহার করতে পারেন" ", তবে এটি কেন বলা হয়নি ।

আমি যা অর্জন করতে চাইছি তা হ'ল প্রতি ফাইল-এ "একাধিক পদ্ধতি চেষ্টা করে দেখুন, যেকোনটিই সেরা" সংরক্ষণাগারটি চয়ন করুন। আমি অবশ্যই একটি স্বল্প স্ক্রিপ্টিং দিয়ে ম্যানুয়ালি এটি অর্জন করতে পারি, তবে সম্ভবত, শৃঙ্খলাবদ্ধ শৃঙ্খলা পদ্ধতিতে ঠিক এমনটি করা উচিত?


সংক্ষেপণ পদ্ধতির ক্রম পরিবর্তন করে সমস্ত পদ্ধতি ক্রমানুসারে প্রয়োগ করা হলেও সংক্ষেপিত আকার পরিবর্তন করা উচিত । বেশিরভাগ সংক্ষেপণ সাধারণত প্রয়োগ করা প্রথম পদ্ধতি থেকে আসে। এর ফলাফলটি সাধারণত উচ্চ এনট্রপি থাকে, তাই আরও সংক্ষেপ করা শক্ত। ট্রান্সফর্মগুলির জন্য ব্যতিক্রম রয়েছে যেগুলি ডেটাগুলি নিজেরাই সংকোচিত করার প্রত্যাশিত নয়, তবে এটি এটিকে আরও সংকোচযোগ্য হতে এনকোড করে তোলে - উদাহরণস্বরূপ 1, 2, 3, 4, 5 এর ক্রমের মানগুলির পুনরাবৃত্তি নেই, তবে তফাতগুলির পুনরাবৃত্তি রয়েছে, তাই একটি বদ্বীপ রূপান্তর সংকোচনেতা উন্নত। ড্যানিয়েল বি এর উত্তর সম্পর্কে এটিই।
স্টিভ 314

7 জিপ কী করে আমি আসলে তা জানি না, যদিও - আপনার "পদ্ধতির ক্রম পরিবর্তন করার কারণে ফাইলটির আকারকে উল্লেখযোগ্যভাবে প্রভাবিত করে" মন্তব্য করার কারণে আপনার সম্পর্কে মন্তব্য করা।
স্টিভ 314

উত্তর:


5

সাধারণত, সঙ্কুচিত ডেটা দক্ষতার সাথে আরও সংকুচিত করা যায় না (আরও)। প্রথম কম্প্রেশন পদ্ধতি প্রয়োগ করার পরে, ফাইলের আকারটি উল্লেখযোগ্যভাবে হ্রাস করা যায় না।

-mN=Xপ্রধানত ফিল্টার উল্লেখ জন্য (উইন্ডোজ সাহায্যের ফাইল থেকে নেওয়া) হল:

সমর্থিত ফিল্টার:

ডেল্টা ডেল্টা ফিল্টার ("বাইটসে ডেল্টা অফসেট সেট করা সম্ভব example উদাহরণস্বরূপ, 16-বিট স্টেরিও ডাব্লুএভিভি ফাইলগুলি সংকুচিত করতে, আপনি" 0 = ডেল্টা: 4 "সেট করতে পারেন Def ডিফল্ট ডেল্টা অফসেটটি 1.")

এক্স 86 এক্সিকিউটেবলের জন্য বিসিজে রূপান্তরকারী

X86 এক্সিকিউটেবলের জন্য বিসিজে 2 রূপান্তরকারী (সংস্করণ 2) ("বিসিজে 2 32-বিট x86 এক্সিকিউটেবলের জন্য সংস্করণ রূপান্তরকারী (সংস্করণ 2) এটি আরও সংক্ষেপণ বৃদ্ধির জন্য কিছু শাখার নির্দেশকে রূপান্তর করে” ")

এআরএম (সামান্য এডিয়ান) এক্সিকিউটেবলের জন্য এআরএম রূপান্তরকারী

এআরএম থাম্ব (সামান্য এডিয়ান ) এক্সিকিউটেবলের জন্য এআরএমটি রূপান্তরকারী

আইএ -৪৪ এক্সিকিউটেবলের জন্য আইএ 64৪ রূপান্তরকারী

পাওয়ারপিসি (বিগ এন্ডিয়ান) এক্সিকিউটেবলের জন্য পিপিসি রূপান্তরকারী

SPARC এক্সিকিউটেবলের জন্য SPARC রূপান্তরকারী

সহায়তা ফাইল থেকেও, বিসিজে 2 ফিল্টারটির একাধিক আউটপুট স্ট্রিমের উপকারের একটি উন্নত উদাহরণ:

7z a -t7z archive.7z *.exe *.dll -m0=BCJ2 -m1=LZMA:d23 -m2=LZMA:d19 -m3=LZMA:d19      -mb0:1 -mb0s1:2 -mb0s2:3

বিসিজে 2 রূপান্তরকারী ব্যবহার করে সংরক্ষণাগারভুক্ত 7z আর্কাইভ 7.xe এবং * .dll ফাইল যুক্ত করুন, মূল আউটপুট স্ট্রিমের জন্য 8 এমবি অভিধান সহ এলজেডএমএ এবং বিসিজে 2 এর এস 1 এবং এস 2 আউটপুট স্ট্রিমের জন্য 512 কেবি অভিধান সহ এলজেডএমএ।


"প্রথম সংক্ষেপণ পদ্ধতি প্রয়োগ করার পরে ফাইলের আকার উল্লেখযোগ্যভাবে হ্রাস করা যায় না।" - অবশ্যই আমার আশা ছিল যে একাধিক পদ্ধতি নির্দিষ্ট করে দেওয়া প্রতিটি ফাইলকে প্রতিটি নির্দিষ্ট পদ্ধতিতে চেষ্টা করে এবং সবচেয়ে দক্ষ বাছাই করে। স্বাভাবিকভাবেই, এটি কম্প্রেশনটি বেশ ধীরে ধীরে তৈরি করবে।
সেরেন কুকলাউ

2

দেখে মনে হচ্ছে আপনি একটি ক্রমানুসারে ফিল্টার প্রয়োগ করতে পারেন।

গত বছরের এই পোস্টটির একটি দুর্দান্ত ব্যাখ্যা রয়েছে:

7-জিপ-এম সুইচের পরে সংখ্যাটি কী বোঝায়?

যদি আপনি একবারে একাধিক ব্যবহার করে থাকেন তবে এই সংখ্যাটি আপনাকে সংক্ষেপণ ক্রিয়াকলাপগুলির অর্ডার সেট করতে দেয়।

এটি ডকুমেন্টেশন থেকে একটি উদাহরণ:

7z a a.7z *.exe *.dll -m0=BCJ2 -m1=LZMA:d25 -m2=LZMA:d19 -m3=LZMA:d19 -mb0:1 -mb0s1:2 -mb0s2:3

বিসিজে 2 ফিল্টার ব্যবহার করে এ.আর.জে আর্কাইভ করতে * .exe এবং * .dll ফাইল যুক্ত করুন, মূল আউটপুট স্ট্রিমের জন্য 32 এমবি অভিধান সহ এলজেডএমএ এবং বিসিজে 2 এর এস 1 এবং এস 2 আউটপুট স্ট্রিমগুলির জন্য 512 কেবি অভিধান সহ এলজেডএমএ।

প্রথম সংক্ষেপে সর্বনিম্ন সংখ্যা, যা শূন্য। এই উদাহরণে, শূন্য বিসিজে 2 তে সেট করা আছে। তারপরে একটি আসে, যা এলজেডএমএ। দুই এবং তিনটি LZMA হলেও তারা বিভিন্ন ডি প্যারামিটার ব্যবহার করছে।

-Mb বিকল্পটি একটি সংক্ষেপণ থেকে অন্য একের ইনপুট পর্যন্ত আউটপুট "বাঁধাই" করতে ব্যবহৃত হয়। এই উদাহরণে, বিসিজে 2 এর একটি ইনপুট এবং চারটি আউটপুট রয়েছে। আউটপুট শূন্য এক নম্বর সংক্ষেপে যাচ্ছে। আউটপুট এক দ্বিতীয় নম্বর সংক্ষেপে যাচ্ছে। আউটপুট দুইটি তিন নম্বর সংকোচনে যায়। আউটপুট তিনটি আবদ্ধ নয় (কারণ এটি আবার সংকোচনের প্রয়োজন নেই)।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.