blackbox repacker-ге тіркеу кілттерін қалай қосуға болады


жауап 1:
  • Ойынды кішірейтудің бірінші қадамы басқалардың айтуы сияқты .. «жырту» .. (ойынды ойнау үшін қажет емес файлдарды алып тастау) көптеген рипперлер ағылшын тілінен басқа барлық көп тілді қолдау файлдарын алып тастайды. Субтитрлер кішкентай болғандықтан, ойын кез-келген уақытта ағылшынша аудио немесе неміс немесе итальян тілдерінде және басқаларында айтылады .. бұл кейіпкер / кескін / фмв ойнаған кезде файлдар кітапханасында файлдың бірнеше нұсқалары болуы керек дегенді білдіреді, егер ағылшын тіліндегі файл 10 мб болса, әр түрлі тілдік нұсқалары әр тілге 10 мб-ны қосады және бұл тек «Сәлемдеуші ойыншы!» деген таңба үшін болуы мүмкін. 1080 биттегі 5 минуттық фм-ны кескінді 320 биттік аудиомен елестетіп көріңіз (немесе одан да жақсырақ) файлдар тек кіріспе фильм үшін бірнеше ГБ-қа дейін секіре алады ... сондықтан ағылшынша аудио / бейнеден басқаларын алып тастау бірінші қадам болып табылады.
  • Әрі қарай олар қайта жазды: мен бұған дейін 5 минуттық 1080p немесе одан жоғары дыбыстық фм-н квццені елестетіп көрдім деп айтқанымдай, бейнені / аудионы төменгі бит жылдамдығына қайта кодтау арқылы бейнені / аудионы 100% кодтауға мүмкіндік берейік, 80% сіз бірден 20% үнемдеңіз файл өлшемі ... сапасы әрең байқалады, (кейбір риперлер одан да төмен ... 50%, бірақ көбісі шынайы hd (1080) -ден HD (720) -ге дейін немесе осы күндері 4к-тен 2к-ке немесе 1080-ге дейін ... сіз » ойынға ақысыз қол жеткізіп жатырсыз, сондықтан кім шынымен шағымданады? сондықтан видео кодтар ауыр ойындарда көп орынды үнемдей алады, бірақ ойын / қозғалтқыш ойындарында ше? GTA V сияқты? қалай білемін, олар мұндай пакеттерді қалай орап үлгерді? Егер сіздің компьютеріңіз сіздің дыбысыңызды үшінші тараптың стерео немесе amp + динамиктері арқылы 128-320 кбиттік mp3 арқылы шығарып жатса ... ойын үшін ең болмағанда жақсы естіледі ... сондықтан сіз аудиодан көбірек орын үнемдейсіз.

Пакетті манипуляциялау:

егер сіз өзіңіздің ойындарыңыздағы файлдарды орнатуды қарап шыққан болсаңыз, онда сіз пакет файлдарын немесе қоқыс жәшіктерін немесе «дыбыстар» немесе «сөйлеу» деп белгіленген көп Гбайт көлемді үлкен файлдарды көрген болсаңыз, ойыншылар өздерінің файлдарын осылай орайды. сөйлеу файлдары үшін жүздеген mp3 файлдары бар қалтасы бар, олардың барлығы бір файлға жинақталады ... тілдік файлдарды алып тастағанда, аудио риперлер жеке файлдарға қол жеткізу үшін осы файлдарды орап, оларды басқарып, содан кейін оларды бір файлға қайта орау керек. сондықтан олар алынып тасталатын файлдарды алып тастай алады, кеңістікті сақтау үшін кішірейту керек файлдарды қайта кодтайды немесе аттас, бірақ деректері жоқ бос файлдармен алмастырады, сондықтан олар каталог ішінде орын иелері ретінде жұмыс істейді .

Ең бастысы ... Жоғары қысу құралдары. zip / rar / 7z және басқаларының не екенін бәріміз білеміз, олар архивтерге қысылмаған нұсқалардан кіші файлдарды қысу әдістері, қысу басталғаннан бастап жетілдірулер болды және жақсы жұмыс істейтін әдістер, бірақ басқалардың құны бойынша ресурс.

Ұзын сөздің қысқасы, қазіргі кезде қысу құралдары өте жақсы, сондықтан бастапқы ойыннан өте аз нәрсені алып тастау керек.

және олар бүкіл мультиплеер режимін бұзады .. қазіргі уақытта бұл девс ойындары тек уақытты өткізуге кедергі келтіретін жалғыз нәрсе ... жоғалып кетті, 10-20 сағатты құрайтын кампаниялары бар жалғыз ойыншы fps ойындары. Devs тек «бір ойыншы» / оффлайн ойнатқышты негізгі «көп ойыншы» іс-шарасына қосымша ретінде пайдаланады, өйткені қарақшылық әлі де көп ойыншы режимдерін сенімді түрде бұза алмайды, ойнату үшін ақы төлеу керек .. сервер аутентификациясы, бу сияқты ресми ойын жүйелері / сіздің ойыныңыздың заңдылығын тексеретін / басқаратын және басқаларды онлайн ойнауға қосатын шығу тегі ...


жауап 2:

Мұны түсіндірудің керемет тәсілі - аналогия.

Елестетіп көріңізші, күрделі анықтамаларды білдіретін қысқа сөздердің орнына бәрімізге күрделі анықтамаларды қолдану керек болды. Қысу күрделі идеяларды қабылдайды және оларды кішірек сөздермен қысады.

Мысал ретінде өмірден сығымдау жасайық.

Менің досыма жіберетін сөйлемім бар деп айтыңыз:

«Менің ойымша, барлық адамдар дауларсыз сауда-саттық және іскерлік мәмілелер жасау тәжірибесін біз қазір тірі тұрған үлкен жартаста бастаса екен деймін».

Мен әлемдегі тыныштықты қалаймын деген ойды білдіретін өте әдемі сөйлем, бірақ менің досым бұл сөздерді ғана түсінеді, ал біз жиі қолданатын күрделі емес. Жалғыз, біз берілген сөйлемдерден басқа сөздерді білмей, бұл сөйлемді айтарлықтай қысқарта алмаймыз. Ұзынырақ сөз тіркестерін бейнелейтін қысқа сөздерден сөздік жасасақ, біз қысқа сөйлем жасай аламыз!

Сөздік: Боббл: Менің көзілдірігім өте зор: барлық адамдар Фрити: дауларсыз сауда практикасы Хобот: Іскерлік мәмілелер Жер: біз қазір өмір сүріп жатқан үлкен жартас

Жаңа сөйлем [сөздікті қолдана отырып] «Көзілдіріктің Жер бетінде фитинг пен хобот басталатындығы».

Сөйлем сөзсіз қысқа! Дос сөйлемнің мағынасын түсінгісі келгенде, сөздікте сөйлемде кездесетін сөздерді тиісті анықтамасымен алмастыра алады, ал алмастыруда ешқандай ақпарат жоғалып кетпейді!

Өкінішке орай, бұл деректерді кішірейтуге мүмкіндік бермейді, тек сол сөйлем. Себебі біз жаңа сөйлемге ҚОСЫМША сөздік жіберуіміз керек. Бұл жаңа сөйлемнің пайдасын жоққа шығарады және іс жүзінде тасымалданатын деректердің көлемін ұлғайтады.

Сондықтан сіз аналогияның мәні неде деп ойлауыңыз мүмкін; ақыр соңында біз деректердің көлемін қысып емес, көбейттік.

Сөздікпен алмастырудың бұл тәсілі мәліметтер тізбегінсіз жұмыс істемейді. Оның орнына айтыңызшы, менде досыма жіберетін бір нәрсе бар:

«біз қазір өмір сүріп жатқан үлкен жартаста. біз қазір тірі тұрған үлкен таста. біз қазір тірі жүрген үлкен таста. біз қазір тірі жүрген үлкен таста. он төрт. тірі үстінде. біз қазір тірі тұрған үлкен таста. біз қазір тірі жүрген үлкен таста. біз қазір тірі жүрген үлкен таста. күлгін «.

Бұл сөйлемде сегіз рет қайталанған бір сөйлем бар: сөздік ауыстыру бізге көмектесе алады!

Сөздік: E: «біз қазір тірі тұрған үлкен тас».

Жаңа сөйлем [сөздікті қолдана отырып] «EEEEFourteen. EEEEPurple»

Бұл тіпті сөздікті қосқанда да керемет көлемдік айырмашылық!

Бұл компьютерлерде сығымдаудың жұмысына ұқсас: қысу бағдарламасы көбінесе қайталанатын элементтердің деректерін қарастырады, ол үшін сөздікте жазба жасайды, содан кейін қайталанатын объектінің әр пайда болуын үлгіге сәйкес сөздікте сөзбен ауыстырады. Бұл шығынсыз қысудың мәні. Басқа тапсырмаларға арналған қысудың басқа да түрлері бар, бірақ бұл жалпы деректерді қысу.

Белгілі бір қосымшалардың файлдарды қысу тәсілі арасындағы айырмашылық тек орындалу бөлшектері болып табылады. Олар заңдылықтарды табудың және сөздік жазбаларын құрудың ең жылдам немесе тиімді әдісін табуға тырысып бәсекелеседі. Кейбір бағдарламалар мұны өз жолымен десе, екіншісі бұл басқа жол дейді. Қолдануға ең қолайлы файл көбінесе қандай файл түрін қысып жатқаныңызға байланысты анықталады.


жауап 3:

Сығымдаудың қарапайым әдістерінің бірі болып табылады

Ұзындықтағы кодтау

(RLE).

Сізде көгілдір фоны бар кескін бар делік. «Көк, көк, көк, ... көк және т.с.с.» -ды 1000 рет сақтаудың орнына әр пиксель қатарына сіз «1000, көк» деп сақтап қоюыңызға болады және бұл көп орын үнемдеуге мүмкіндік береді. Кескінді декодтау кезінде алгоритм оны оқып шығады: «о, оған көк мың рет керек. Ешқандай проблема жоқ».

Басқа түстері бар жолдар үшін келесідей көрінуі мүмкін: «36, көк, 73, қызыл, 42, қызыл-қызыл, 5, жасыл, 86, сұр ...», бұл пикселдің әрбір мәнін сақтаудан гөрі жақсы. Осылайша, сіз сурет үшін ақпаратты сақтау үшін қажет байт көлемін азайтасыз. Әрине, түстер сөздермен емес, сандармен сақталады, бірақ сіз идеяны аласыз.

Бұл шығынсыз қысудың мысалы. Себебі декодтау процесінде дәл кескінді шығаруға болады. Яғни сіз ешқандай ақпарат жоғалтпайсыз. Бұл тек суреттерге қатысты емес, оны кез-келген файлды қысу үшін қолдануға болады).

Ақпаратты тастауға болатын және әлі де қолайлы болып табылатын ысырапты қысу бар. Бұлттардың бейнесі туралы ойланыңыз. Кескінді кішкене 8х8 өлшемді блоктарға бөліңіз, сонда олардың кейбіреулері градиентпен жақындатылатынын және оларды екі түсті және бағытты етіп сақтауға болатынын білесіз. Нақты кескінді дәл қалпына келтіру мүмкін емес, бірақ нәтиже адамның көзіне қолайлы, сондықтан деректер көлемін кішірейту қажет.

Сондай-ақ, музыканы жоғалту арқылы қысуға болады, бірақ құлаққа жағымды болады. Деректердің басқа түрлері ақпараттың бір бөлігін де жоғалта алмайды. Компьютерлік бағдарламаны дәл құру керек, әйтпесе бағдарлама таңқаларлық командаларды орындайды және жүйенің бұзылуына әкеледі.

Сығымдаудың маңызы зор, себебі ол жадыда және дискіде аз орын алып қана қоймай, сонымен қатар байланыс каналдары арқылы жылдамырақ өтеді. Мысалы, кескіндер, дыбыстар және басқа деректер қаншалықты қысылған сайын, веб-сайт тез жүктеледі.


жауап 4:

Файлдарды қысудың артында алгоритм жоқ. Оның орнына қысу алгоритмдері тәжірибеде жақсы жұмыс істейтіні белгілі эвристика жиынтығын қолданады. Мысалға:

  • Хаффман кодтауы таңбалардың жиілігін / қысқа жолдарды қарастырады және жиірек нысандарға қысқа кодтар беру арқылы кірісті қысады.
  • Ұзындықтағы кодтау қатарынан бірнеше рет қайталанатын заттарды қарап, оны «xy рет қайталау» деп кодтайды.
  • Lempel – Ziv – Welch және соған ұқсас сығымдау алгоритмдері олар кірісте көрген жолдардың сөздігін құрастырады, содан кейін кейбір жолдар қайталанған кезде оларды қайта қолданады. Сығылған файлда «120 таңбаны артқа қарап, сол жерден 5 таңбаны көшіру» сияқты нұсқаулар болады.
  • Burrows – Wheeler түрлендіруі - bzip2-де қолданылатын «сиқырлы» қайтымды жол трансформациясы. Трансформацияланған жолды әдетте жақсы қысуға болады, өйткені түрлендіруге дейін ұқсас контексте пайда болған заттар кейіннен қатарынан болады. (Егер бұл мағынасы болмаса, оның сиқырлы екенін қабыл алыңыз).
  • Кейбір сығымдау алгоритмдерінде «метауризм» қолданылады :) Мысалы, портативті желілік графиканың (PNG) кескінін сығу кезінде біз алдымен сурет пикселін пиксель бойынша өтіп, оның мәнін бұрын көрген пикселдерден болжауға тырысамыз. Содан кейін, нақты пикселдерді қысудың орнына, біз болжауымыздың қателіктерін қысамыз (яғни, болжам қаншаға өшірілген). Біздің болжамдарымыз неғұрлым жақсы болса, қателіктер барлық нөлдерге жақынырақ болады, оларды қысу оңайырақ болады.
  • Сығымдаудың басқа алгоритмдері шығынға ұшырайды: файлды қысу арқылы біз ақпарат жоғалтамыз. Дәлірек айтқанда, бізде сығылған файлдың өлшемі мен нәтиженің сапасы арасында айырмашылық бар. Мысалы, MP3 форматы сияқты аудио форматтарда біз қарапайым толқындық функцияны қарапайым периодты функциялар жиынтығымен жуықтауға тырысамыз (мысалы, синус). Оларды қаншалықты көп қолдансақ, түпнұсқаны дәлірек дәлдей аламыз, бірақ бізге көбірек дискілік орын қажет. Суреттерді (мысалы, JPEG) және бейнені (мысалы, соңғы жылдары MPEG-4 және басқаларын) сығымдау кезінде осындай айырмашылықтар бар.

Соңында, бұдан артық ештеңе жасай алмайтынымызды ескеріңіз. Дәл (ысырапсыз) қысу әрдайым осылай көрінеді: ол әрқашан лайықты жұмыс істейтін хактердің жиынтығы болады, өйткені біздің ақпаратты сақтаудың бастапқы тәсілі болжамды түрде артық болған. Біз анықтай алсақ та

файлды қысудың оңтайлы тәсілі

(яғни, оның

Колмогоровтың күрделілігі

), сондай-ақ мұндай қысуды алгоритмдік жолмен есептеу мүмкін еместігін дәлелдей аламыз.


жауап 5:

Сығымдау бағдарламаларының көпшілігінің

LZ адаптивті сөздікке негізделген алгоритм

файлдарды кішірейту үшін. «LZ» сілтеме жасайды

Лемпель және Зив

, алгоритм жасаушылар және «сөздік» әдісін білдіреді

каталогтау

деректер бөліктері. Әлемнің көптеген тілдерінде белгілі бір әріптер мен сөздер бір үлгіде жиі кездеседі. Қызметкерлердің бұл жоғары қарқынына байланысты,

мәтіндік файлдар

өте жақсы қысыңыз. Көлемі жақсы мәтіндік файл үшін 50 немесе одан көп пайызға азайту тән. Көпшілігі

бағдарламалау тілдері

олар өте қажет, өйткені олар белгіленген үлгіде жиі бірге жүретін командалардың салыстырмалы түрде аз жинағын пайдаланады. Көптеген ерекше ақпаратты қамтитын файлдар, мысалы, графика немесе

MP3 файлдары

, бұл жүйемен көп қысуға болмайды, өйткені олар көптеген үлгілерді қайталамайды (бұл туралы келесі бөлімде толығырақ). Егер файлда қайталанатын заңдылықтар көп болса, азайту жылдамдығы әдетте файл өлшеміне байланысты артады. Сондай-ақ ұзақ жұмыс барысында кеңейтілген заңдылықтар пайда болуы мүмкін, бұл бізге неғұрлым тиімді сөздік жасауға мүмкіндік береді.

Бұл тиімділік спецификаға да байланысты

алгоритм

қысу бағдарламасы қолданады. Кейбір бағдарламалар файлдардың кейбір түрлеріндегі үлгілерді жинауға өте ыңғайлы, сондықтан оларды қысқаша қысып жіберуі мүмкін. Басқаларында сөздіктерде сөздіктер бар, олар үлкенірек файлдар үшін тиімді қысылуы мүмкін, ал кіші файлдар үшін емес. Осы түрдегі барлық сығымдау бағдарламалары бірдей негізгі идеямен жұмыс істегенімен, орындалу тәсілінде әр түрлі вариациялар бар. Бағдарламашылар әрқашан жақсы жүйе құруға тырысады.


жауап 6:

Шығынсыз қысуды қажет ететін файлдар үшін кең тараған әдіс - бұл файлдағы таңбалардың қайталанатын ретін іздейтін және оларды биттердің біршама қысқа тізбегімен алмастыратын Lempel-Ziv-Welch (LZW) алгоритмі. Сонымен қатар, қандай қысқа разрядтың қандай ұзындыққа сәйкес келетіндігі туралы сөздік жасалады. Бұл процесс файл арқылы қайталанады және ықтимал оңтайландырылған қысқартылған дәйектіліктер жиынтығын құрастырады, яғни бастапқы деректерді нақты түрінде қалпына келтіру үшін процесті өзгертуге болады. Сығылу дәрежесі қанша рет қайталанатын тізбектерді ашуға болатындығына және олардың ұзақтығына тікелей байланысты. Файлдардың белгілі бір түрлері басқаларға қарағанда шығынсыз қысуға жақсы мүмкіндік береді.

Фотосуреттер, музыка және видео сияқты ысырапты қысуға болатын файлдар үшін қайта құру деректері түпнұсқаның математикалық дәл көшірмесі болмайтындай, адамның қабылдау модельдерін ескеретін әр түрлі алгоритмдер қолданылады. Алайда кейбір бастапқы деректердің жоғалуы, жақсы алгоритммен, түпнұсқаның ақылға қонымды нұсқасы болып табылады, нәтижесінде алынған қайта құру пайдаланушы үшін әлі де қолайлы болып саналады. Себебі, алгоритм деректердің аз сезілетін жақтарына ықпал ететін деректерді алып тастау үшін ғана жұмыс істейді (мысалы, дыбыстың жиілігі жиілеу диапазонының дыбыс деңгейі жоғарырақ және көрнекі түрде жасырылады.) Мұндай алгоритмдерде қайта құру сапасын жақсартуға болады деректерді жоғалтудың төменгі деңгейіне жоғары сапаны саудалау арқылы (демек, қысудың тиімділігі төмен). Алайда, «қабылдау» субъективті шара болып табылады және кейбір адамдар шығынды алгоритмдердің нәтижелерін алынған файлдың белгілі бір рұқсат етілген максималды өлшемі / бит жылдамдығы кезінде қарсылық деп санайды, мұнда басқалары бірдей параметрлерде айырмашылықты аз немесе мүлдем байқамауы мүмкін.


жауап 7:

Мен бұл сұраққа жақсы жауап бере аламын :) Мен өзім репакстар жасадым ... сондықтан мен сізге бір нәрсе түсіндіре аламын.

Интернеттегі қайта орау командаларында белгілі бір ойынның файлдарын қысуға арналған арнайы құралдар жиынтығы бар. Олар файл өлшемдерін қысу және кішірейту үшін әр түрлі алгоритмдерді қолданады. Әр түрлі ойын қозғалтқыштарына арналған бірнеше шағын құралдар бар. Интернетте осындай құралдарды табуға болатын бірнеше форум бар.

Бұл құралдар белгілі бір ойын қозғалтқышының белгілі бір ойынындағы ағындарға сәйкес жасалған.

Мен олар қолданатын жалпы әдістің бірін талқылаймын, мен оны «Сығымдау» деп атаймын. Бұл ағындарды анықтауды және оларды декомпрессиялауды, содан кейін оларды күшті алгоритм көмегімен қайта сығуды көздейді.

Әдепкі бойынша, ойындардың көпшілігінде ойын файлдары zlib немесе DEFLATE әдісі арқылы максималды түрде қысылған. Сонымен, WinRAR немесе WinZIP сияқты құралдарды қысылған файлдарды қысу үшін қолдануға болмайды. Сонымен, олар бұл zlib ағындарын декомпрессиялайды, (сығымдалмаған шығарылым үлкенірек), содан кейін файлдың көлемін айтарлықтай азайту үшін LZMA сияқты күшті қысу әдісі қолданылады. Сондықтан жақсы қысу коэффициенттері алынады.

Қысқаша айтқанда, біз zlib немесе DEFLATE орнына LZMA қолданамыз.

Файл өлшемін кішірейту үшін олар бейнені 50% биттік жылдамдыққа дейін қайта кодтайды, олардың сапасы бірдей. Дыбыстық файлдар үшін де солай жасалады.

FYI олар қолданатын осы құралдардың кейбіреулері PRECOMP, SREP & FreeArc

Рахмет


жауап 8:

Олар өте ақылды адамдар. Қарақшылар тобы деп аталатын «сахналар», мысалы, Blackbox, Kaos Krew, RG Mechanix және т.б. ойындарды сығымдау үшін әр түрлі құралдарды пайдаланады.

Сығымдау құралдары ZIP, 7Zip немесе WinRAR қолданатын қысу әдісіне ұқсас. Бұл қайталанатын кодтарды анықтау және оны бірегей адрес кодтарымен ауыстыру. Бірақ сахналар мұнымен тоқтап қалмайды.

Әдеттегі шығарылым NFO файлымен бірге жүреді. Оның .nfo кеңейтімі бар және оны блокноттан ашуға болады. Бұл NFO файлына олар ойынды қалай қыса алғандығы туралы сипаттама енгізілген.

Сығымдаудың жиі қолданылатын әдістері: 1. Тым төмен және / немесе тым жоғары ажыратымдылықтағы текстуралық бумаларды алып тастаңыз. Біз ойнаған кезде көретін текстуралар әр ажыратымдылық үшін бөлек жасалады. Жоғары ажыратымдылықты жою оларды кеңістікті үнемдейді.

2. Жоғалған бейне / аудио сығымдау. Егер сізде жоғары деңгейлі аудио жүйесі болса немесе аудиофиль болса ғана анықталатын дыбыстың бит жылдамдығын төмендету. Кескін көріністерін азайту. Ажыратымдылықты азайту өнімділікті күрт арттырады, сонымен қатар аз орын алады, өйткені жүйеге пикселдердің аз мөлшерін есептеу қажет.

3. Ағылшын тілінен басқа тілдерді алып тастау. Бұл субтитр файлдары мен мәзір интерфейсінің жолдарын ғана емес, үлкен аудио файлдарын да жояды. Ойын компакт-дискілері аудио-файлдарды орнату кезінде CD-ден оқуға мүмкіндік беретін кездерді еске түсіріңіз. Орнату кеңістігінің көп бөлігін құруға арналған аудио.

Егер мен ештеңе жіберіп алмаған болсам, түсініктеме беріңіз. ЕСКЕРТУШІ: Егер сізге ойын ұнаса, оны сатып алып, әзірлеушілерге қолдау көрсетіңіз.


жауап 9:

Олар әртүрлі қысу әдістерін қолданады.

Мен сізге қарапайым техниканың мысалын келтіремін. Бұл huffman максималды дисперсия әдісі деп аталады.

Мұнда сіз алдымен файлды оқып, содан кейін сол файлдағы барлық символдардың пайда болу ықтималдығын табасыз ... және оны кему ретімен жазыңыз. Сонымен, файлда жиі кездесетін таңба жоғарғы жағында болады. [Мұнда, А белгісі]

Екі ықтималдықты біріктіріп, жаңа уақытша белгі жасаңыз. [Мұнда D мен E тіркесімі E 'таңбасын жасайды (суретте көрсетілмеген, уақытша символ тек сізге ыңғайлы)]

Мұны тек екі таңба болғанға дейін жасаңыз.

Енді сіздің ағашыңыз осылай көрінеді.

A '

A B «

B 'C' BCDE

Филиалдың жағын 0-ге, ал бөрененің оң жағын 1-ге бекітіңіз.

Енді,

A = 0. кодтық сөз B = 100 кодтық сөз C = 101 кодтық сөз D = 110 кодтық сөз D = 110 кодтық сөз E = 111.

Егер сіздің файлыңыз AAAABCDE болды делік. Мұнда А белгісі жиі кездеседі.

Сығымдау алдында сіз әр белгі үшін 8 бит жібересіз. Сонымен, ол 64 бит болады.

Сығымдалғаннан кейін сіз 0 0 0 0 100 101 110 111 жібересіз. Бұл тек 20 бит.

LZ77, LZSS немесе LZ78 тәсілі сияқты қолдануға болатын басқа да әдістер бар.


жауап 10:

Сіз киіміңізді сөмкеңізге салғыңыз келеді делік. Бірінші әрекетте сіз барлық киімдеріңізді сөмкеге салып көріңіз және кейбір киімдердің қалып қойғанын көресіз. Содан кейін сіздің достарыңыздың бірі келіп, киімнің әрқайсысын бүктейді, енді көбірек киім сөмкеге сыяды. Үшінші дос сіздің сөмкеңізге қарап, сіздің сумкаңыздағы киімдерді басқа досыңызға қарағанда жақсы реттейтінін айтады. Байқап көрсеңіз, қазір сөмкеге бұрынғыдан гөрі көбірек киім киілетінін көресіз.

Деректерді қысу жоғарыдағы сценарийге өте ұқсас. Деректер берілген кеңістікке сәйкес келетін немесе белгілі бір көлемдегі деректер қажет болғаннан әлдеқайда аз орын алатындай етіп сіздің деректеріңізді жақсы бүктеу немесе ұсыну туралы.

RLE немесе Run Length Encoding сияқты қарапайым алгоритмді қарастырайық. Бастапқы деректерге қарағанда делік

AAAAABBBBBCCCCC

Енді RLE таңбалар тізбегін таңбаға және оның ұзындығына ауыстыру арқылы жұмыс істейді. Енді мұны қолдану арқылы біз аламыз

A5B5C5

Бұл оригиналды жолға қарағанда әлдеқайда аз. Арифметикалық кодтау, Lempel-Ziv және т.с.с. сияқты бірнеше алгоритмдер бар, олар деректерді жақсырақ бейнелейді, осылайша бастапқы мәліметтер көлемін азайтады. Әдетте, winzip сияқты бағдарламалық жасақтама деректерді қысу үшін бір немесе бірнеше осындай алгоритмдердің тіркесімін пайдаланады


жауап 11:

Мысал ретінде Жаратылыстың басталуын алайық. Міне, алғашқы бес сөйлем:

Алғашында Құдай аспан мен жерді жаратты. Жер формасыз және бос болды; ал тереңдікте қараңғылық болды. Құдайдың Рухы су бетінде қозғалғанда, Құдай: «Жарық болсын, жарық болсын», - деді. Құдай жарықтың жақсы екенін көрді, ал Құдай жарықты қараңғылықтан бөлді.

Осы үзіндіні қалай қыса алдық? Міне идея; жиі кездесетін сөздерді алып, оларды жиіліктің ретімен алмастырайық. Сонымен, біз келесі ауыстыруларды немесе индекстерді аламыз:

the: 1 and: 2 God: 3 was: 4 light: 5 of: 6 earth: 7 darkness: 8 upon: 9.

алынған үзіндімен:

1 басында 2 жаратқан 1 аспан 2 1 7. 2 1 7 4 формасыз, 2 бос; 2 8 4 9 1 беті 6 1 терең. 2 1 Рух 6 3 9 1 бетке 6 1 суларды қозғады.2 3: 5 5 бар болсын 4 5. 2 3 көрді 1 5, ол 4 жақсы: 2 3 бөлінді 1 5 1 8.

Бұл айтарлықтай қысқа екенін көресіз. Оған жоғарыдағы индексті қосыңыз, және сіз файлды қысып алдыңыз. Қосылған индекс бастапқы жолды қалпына келтіруге мүмкіндік береді.

Сығымдау үшін түпнұсқалық файлдың ұзақ қайталанған бөліктерін тауып, оны қысқа ауыстыру жолдарымен ауыстырамыз. Біз индексті түпнұсқа мәтінді қалпына келтіруге болатындай етіп қосамыз.

Файлдар үлкейген сайын индекс салыстырмалы түрде кішірейеді және алмастырулардан алынған пайда көбейеді. Алгоритмдер олардың орнын басатын ең жақсы жолдар және оларды оңтайлы ауыстыру туралы егжей-тегжейлі пысықтайды.