ืขืœ ืฉื™ื˜ื” ืžื•ื–ืจื” ืœื—ื™ืกื›ื•ืŸ ื‘ืฉื˜ื— ื‘ื“ื™ืกืง ื”ืงืฉื™ื—

ืžืฉืชืžืฉ ืื—ืจ ืจื•ืฆื” ืœื›ืชื•ื‘ ืคื™ืกืช ื ืชื•ื ื™ื ื—ื“ืฉื” ืœื›ื•ื ืŸ ื”ืงืฉื™ื—, ืืš ืื™ืŸ ืœื• ืžืกืคื™ืง ืžืงื•ื ืคื ื•ื™ ืœืขืฉื•ืช ื–ืืช. ืื ื™ ื’ื ืœื ืจื•ืฆื” ืœืžื—ื•ืง ืฉื•ื ื“ื‘ืจ, ืฉื›ืŸ "ื”ื›ืœ ืžืื•ื“ ื—ืฉื•ื‘ ื•ื”ื›ืจื—ื™." ื•ืžื” ืขืœื™ื ื• ืœืขืฉื•ืช ืขื ื–ื”?

ืœืืฃ ืื—ื“ ืื™ืŸ ืืช ื”ื‘ืขื™ื” ื”ื–ื•. ื™ืฉ ื˜ืจื”-ื‘ื™ื™ื˜ ืฉืœ ืžื™ื“ืข ืขืœ ื”ื›ื•ื ื ื™ื ื”ืงืฉื™ื—ื™ื ืฉืœื ื•, ื•ื›ืžื•ืช ื–ื• ืื™ื ื” ื ื•ื˜ื” ืœืจื“ืช. ืื‘ืœ ืขื“ ื›ืžื” ื”ื•ื ื™ื™ื—ื•ื“ื™? ื‘ืกื•ืคื• ืฉืœ ื“ื‘ืจ, ื›ืœ ื”ืงื‘ืฆื™ื ื”ื ืจืง ืกื˜ื™ื ืฉืœ ื‘ื™ื˜ื™ื ื‘ืื•ืจืš ืžืกื•ื™ื, ื•ืกื‘ื™ืจ ืœื”ื ื™ื— ืฉื”ื—ื“ืฉ ืœื ืฉื•ื ื” ื‘ื”ืจื‘ื” ืžื–ื” ืฉื›ื‘ืจ ืžืื•ื—ืกืŸ.

ื‘ืจื•ืจ ืฉื—ื™ืคื•ืฉ ืื—ืจ ืคื™ืกื•ืช ืžื™ื“ืข ืฉื›ื‘ืจ ืžืื•ื—ืกื ื•ืช ื‘ื›ื•ื ืŸ ืงืฉื™ื— ื”ื•ื, ืื ืœื ื›ืฉืœ, ืื– ืœืคื—ื•ืช ืœื ืžืฉื™ืžื” ื™ืขื™ืœื”. ืžืฆื“ ืฉื ื™, ืื ื”ื”ื‘ื“ืœ ืงื˜ืŸ, ืื– ืืชื” ื™ื›ื•ืœ ืœื”ืชืื™ื ืื•ืชื• ืงืฆืช...

ืขืœ ืฉื™ื˜ื” ืžื•ื–ืจื” ืœื—ื™ืกื›ื•ืŸ ื‘ืฉื˜ื— ื‘ื“ื™ืกืง ื”ืงืฉื™ื—

TL;DR - ื”ื ื™ืกื™ื•ืŸ ื”ืฉื ื™ ืœื“ื‘ืจ ืขืœ ืฉื™ื˜ื” ืžื•ื–ืจื” ืœืื•ืคื˜ื™ืžื™ื–ืฆื™ื” ืฉืœ ื ืชื•ื ื™ื ื‘ืืžืฆืขื•ืช ืงื‘ืฆื™ JPEG, ื›ืขืช ื‘ืฆื•ืจื” ืžื•ื‘ื ืช ื™ื•ืชืจ.

ืขืœ ืงื˜ืขื™ื ื•ื”ื‘ื“ืœื™ื

ืื ืืชื” ืœื•ืงื— ืฉื ื™ ืคื™ืกื•ืช ื ืชื•ื ื™ื ืืงืจืื™ื•ืช ืœื—ืœื•ื˜ื™ืŸ, ืื– ื‘ืžืžื•ืฆืข ืžื—ืฆื™ืช ืžื”ืกื™ื‘ื™ื•ืช ืฉื”ื ืžื›ื™ืœื™ื ื—ื•ืคืคื™ื. ื•ืื›ืŸ, ื‘ื™ืŸ ื”ืคืจื™ืกื•ืช ื”ืืคืฉืจื™ื•ืช ืœื›ืœ ื–ื•ื’ ('00, 01, 10, 11โ€ฒ), ื‘ื“ื™ื•ืง ืœืžื—ืฆื™ืช ื™ืฉ ืืช ืื•ืชื ืขืจื›ื™ื, ื”ื›ืœ ืคืฉื•ื˜ ื›ืืŸ.

ืื‘ืœ ื›ืžื•ื‘ืŸ, ืื ืจืง ื ื™ืงื— ืฉื ื™ ืงื‘ืฆื™ื ื•ื ืชืื™ื ืื—ื“ ืœืฉื ื™, ืื– ื ืื‘ื“ ืื—ื“ ืžื”ื. ืื ื ืฉืžื•ืจ ืืช ื”ืฉื™ื ื•ื™ื™ื, ืคืฉื•ื˜ ื ืžืฆื™ื ืžื—ื“ืฉ ืงื™ื“ื•ื“ ื“ืœืชื, ืฉืžืชืงื™ื™ื ืžืฆื•ื™ืŸ ื‘ืœืขื“ื™ื ื•, ืœืžืจื•ืช ืฉื‘ื“ืจืš ื›ืœืœ ืœื ืžืฉืชืžืฉื™ื ื‘ื• ืœืื•ืชืŸ ืžื˜ืจื•ืช. ืื ื—ื ื• ื™ื›ื•ืœื™ื ืœื ืกื•ืช ืœื”ื˜ืžื™ืข ืจืฆืฃ ืงื˜ืŸ ื™ื•ืชืจ ืœืชื•ืš ืจืฆืฃ ื’ื“ื•ืœ ื™ื•ืชืจ, ืื‘ืœ ื’ื ื›ื›ื” ืื ื—ื ื• ืžืกืชื›ื ื™ื ื‘ืื•ื‘ื“ืŸ ืžืงื˜ืขื™ื ืงืจื™ื˜ื™ื™ื ืฉืœ ื ืชื•ื ื™ื ืื ื ืฉืชืžืฉ ื‘ื• ื‘ืคื–ื™ื–ื•ืช ื‘ื›ืœ ื“ื‘ืจ.

ื‘ื™ืŸ ืžื” ืœืžื” ืื ื›ืŸ ื ื™ืชืŸ ืœื‘ื˜ืœ ืืช ื”ื”ื‘ื“ืœ? ื•ื‘ื›ืŸ, ื›ืœื•ืžืจ, ืงื•ื‘ืฅ ื—ื“ืฉ ืฉื ื›ืชื‘ ืขืœ ื™ื“ื™ ื”ืžืฉืชืžืฉ ื”ื•ื ืจืง ืจืฆืฃ ืฉืœ ื‘ื™ื˜ื™ื, ืฉืื™ืชื ืื™ื ื ื• ื™ื›ื•ืœื™ื ืœืขืฉื•ืช ื“ื‘ืจ ื‘ืขืฆืžื•. ืื– ืืชื” ืจืง ืฆืจื™ืš ืœืžืฆื•ื ืกื™ื‘ื™ื•ืช ื›ืืœื” ื‘ื›ื•ื ืŸ ื”ืงืฉื™ื— ืฉื ื™ืชืŸ ืœืฉื ื•ืช ืื•ืชื ืžื‘ืœื™ ืœืื—ืกืŸ ืืช ื”ื”ืคืจืฉ, ื›ืš ืฉืชื•ื›ืœ ืœืฉืจื•ื“ ืืช ื”ืื•ื‘ื“ืŸ ืฉืœื”ื ืœืœื ื”ืฉืœื›ื•ืช ื—ืžื•ืจื•ืช. ื•ื–ื” ื”ื’ื™ื•ื ื™ ืœืฉื ื•ืช ืœื ืจืง ืืช ื”ืงื•ื‘ืฅ ื‘-FS ืขืฆืžื•, ืืœื ืงืฆืช ืžื™ื“ืข ืคื—ื•ืช ืจื’ื™ืฉ ื‘ืชื•ื›ื•. ืื‘ืœ ืื™ื–ื” ื•ืื™ืš?

ืฉื™ื˜ื•ืช ื”ืชืืžื”

ืงื‘ืฆื™ื ื“ื—ื•ืกื™ื ืžืื‘ื“ื™ื ื‘ืื™ื ืœื”ืฆืœื”. ื›ืœ ื”-JPEG, MP3s ื•ืื—ืจื™ื ื”ืืœื”, ืœืžืจื•ืช ื“ื—ื™ืกื” ืื•ื‘ื“ืช, ืžื›ื™ืœื™ื ื—ื‘ื•ืจื” ืฉืœ ื‘ื™ื˜ื™ื ืฉื ื™ืชืŸ ืœืฉื ื•ืช ื‘ื‘ื˜ื—ื”. ืืคืฉืจ ืœื”ืฉืชืžืฉ ื‘ื˜ื›ื ื™ืงื•ืช ืžืชืงื“ืžื•ืช ืฉืžืฉื ื•ืช ื‘ืื•ืคืŸ ื‘ืœืชื™ ืžื•ืจื’ืฉ ืืช ืžืจื›ื™ื‘ื™ื”ืŸ ื‘ืฉืœื‘ื™ื ืฉื•ื ื™ื ืฉืœ ื”ืงื™ื“ื•ื“. ืœึทื—ึฒื›ื•ึนืช. ื˜ื›ื ื™ืงื•ืช ืžืชืงื“ืžื•ืช... ืฉื™ื ื•ื™ ื‘ืœืชื™ ืžื•ืจื’ืฉ... ืื—ื“ ืœืชื•ืš ื”ืฉื ื™... ื–ื” ื›ืžืขื˜ ื›ืžื• ืกื˜ื’ื ื•ื’ืจืคื™ื”!

ื•ืื›ืŸ, ื”ื˜ืžืขืช ืžื™ื“ืข ืื—ื“ ื‘ืื—ืจ ืžื–ื›ื™ืจื” ืืช ื”ืฉื™ื˜ื•ืช ืฉืœื” ื›ืžื• ืฉื•ื ื“ื‘ืจ ืื—ืจ. ืื ื™ ื’ื ืžืชืจืฉื ืžื—ื•ืกืจ ื”ืžื•ืจื’ืฉ ืฉืœ ื”ืฉื™ื ื•ื™ื™ื ืฉื ืขืฉื• ื‘ื—ื•ืฉื™ื ื”ืื ื•ืฉื™ื™ื. ื”ื™ื›ืŸ ืฉื”ื“ืจื›ื™ื ืžืชืคืฆืœื•ืช ื”ื•ื ื‘ืกื•ื“ื™ื•ืช: ื”ืžืฉื™ืžื” ืฉืœื ื• ืžืกืชื›ืžืช ื‘ื›ืš ืฉื”ืžืฉืชืžืฉ ืžื–ื™ืŸ ืžื™ื“ืข ื ื•ืกืฃ ืขืœ ื”ื›ื•ื ืŸ ื”ืงืฉื™ื— ืฉืœื•; ื–ื” ืจืง ื™ื–ื™ืง ืœื•. ื”ื•ื ื™ืฉื›ื— ืฉื•ื‘.

ืœื›ืŸ, ืœืžืจื•ืช ืฉืื ื—ื ื• ื™ื›ื•ืœื™ื ืœื”ืฉืชืžืฉ ื‘ื”ื, ืื ื—ื ื• ืฆืจื™ื›ื™ื ืœืขืฉื•ืช ื›ืžื” ืฉื™ื ื•ื™ื™ื. ื•ืื– ืืกืคืจ ื•ืืจืื” ืื•ืชื ื‘ืืžืฆืขื•ืช ื”ื“ื•ื’ืžื” ืฉืœ ืื—ืช ื”ืฉื™ื˜ื•ืช ื”ืงื™ื™ืžื•ืช ื•ืคื•ืจืžื˜ ืงื•ื‘ืฅ ื ืคื•ืฅ.

ืขืœ ืชื ื™ื

ืื ืืชื” ื‘ืืžืช ืœื•ื—ืฅ ืืช ื–ื”, ืื– ื–ื” ื”ื“ื‘ืจ ื”ื›ื™ ื“ื—ื™ืกื” ื‘ืขื•ืœื. ืื ื—ื ื•, ื›ืžื•ื‘ืŸ, ืžื“ื‘ืจื™ื ืขืœ ืงื‘ืฆื™ JPEG. ืœื ืจืง ืฉื™ืฉ ื˜ื•ื ื•ืช ืฉืœ ื›ืœื™ื ื•ืฉื™ื˜ื•ืช ืงื™ื™ืžื•ืช ืœื”ื˜ืžืขืช ื ืชื•ื ื™ื ืœืชื•ื›ื•, ืืœื ืฉื–ื”ื• ื”ืคื•ืจืžื˜ ื”ื’ืจืคื™ ื”ืคื•ืคื•ืœืจื™ ื‘ื™ื•ืชืจ ืขืœ ื”ืคืœื ื˜ื” ื”ื–ื•.

ืขืœ ืฉื™ื˜ื” ืžื•ื–ืจื” ืœื—ื™ืกื›ื•ืŸ ื‘ืฉื˜ื— ื‘ื“ื™ืกืง ื”ืงืฉื™ื—

ืขื ื–ืืช, ื›ื“ื™ ืœื ืœืขืกื•ืง ื‘ื’ื™ื“ื•ืœ ื›ืœื‘ื™ื, ืขืœื™ืš ืœื”ื’ื‘ื™ืœ ืืช ืชื—ื•ื ื”ืคืขื™ืœื•ืช ืฉืœืš ื‘ืงื‘ืฆื™ื ื‘ืคื•ืจืžื˜ ื–ื”. ืืฃ ืื—ื“ ืœื ืื•ื”ื‘ ืจื™ื‘ื•ืขื™ื ืžื•ื ื•ื›ืจื•ื ื”ืžื•ืคื™ืขื™ื ืขืงื‘ ื“ื—ื™ืกื” ืžื•ื’ื–ืžืช, ืื– ืืชื” ืฆืจื™ืš ืœื”ื’ื‘ื™ืœ ืืช ืขืฆืžืš ืœืขื‘ื•ื“ื” ืขื ืงื•ื‘ืฅ ืฉื›ื‘ืจ ื“ื—ื•ืก, ื”ื™ืžื ืขื•ืช ืžืงื™ื“ื•ื“ ืžื—ื“ืฉ. ืœื™ืชืจ ื“ื™ื•ืง, ืขื ืžืงื“ืžื™ื ืฉืœืžื™ื, ืฉื ืฉืืจื™ื ืœืื—ืจ ืคืขื•ืœื•ืช ื”ืื—ืจืื™ื•ืช ืœืื•ื‘ื“ืŸ ื ืชื•ื ื™ื - DCT ื•-quantization, ืฉืžื•ืฆื’ ื‘ืฆื•ืจื” ืžื•ืฉืœืžืช ื‘ืกื›ื™ืžืช ื”ืงื™ื“ื•ื“ (ื”ื•ื“ื•ืช ืœื•ื•ื™ืงื™ ืฉืœ ื”ืกืคืจื™ื™ื” ื”ืœืื•ืžื™ืช ื‘ืื•ืžืŸ):
ืขืœ ืฉื™ื˜ื” ืžื•ื–ืจื” ืœื—ื™ืกื›ื•ืŸ ื‘ืฉื˜ื— ื‘ื“ื™ืกืง ื”ืงืฉื™ื—

ื™ืฉื ืŸ ืฉื™ื˜ื•ืช ืจื‘ื•ืช ืืคืฉืจื™ื•ืช ืœืื•ืคื˜ื™ืžื™ื–ืฆื™ื” ืฉืœ ืงื‘ืฆื™ jpeg. ื™ืฉ ืื•ืคื˜ื™ืžื™ื–ืฆื™ื” ืœืœื ื”ืคืกื“ื™ื (jpegtran), ื™ืฉ ืื•ืคื˜ื™ืžื™ื–ืฆื™ื” "ืœืœื ื”ืคืกื“", ืฉืœืžืขืฉื” ืชื•ืจืžื™ื ืžืฉื”ื• ืื—ืจ, ืื‘ืœ ืœื ืื›ืคืช ืœื ื• ืžื”ื. ืื—ืจื™ ื”ื›ืœ, ืื ื”ืžืฉืชืžืฉ ืžื•ื›ืŸ ืœื”ื˜ืžื™ืข ืžื™ื“ืข ืื—ื“ ื‘ืื—ืจ ื›ื“ื™ ืœื”ื’ื“ื™ืœ ืืช ืฉื˜ื— ื”ื“ื™ืกืง ื”ืคื ื•ื™, ืื– ื”ื•ื ืขืฉื” ืื•ืคื˜ื™ืžื™ื–ืฆื™ื” ืœืชืžื•ื ื•ืช ืฉืœื• ืžื–ืžืŸ, ืื• ืœื ืจื•ืฆื” ืœืขืฉื•ืช ื–ืืช ื‘ื›ืœืœ ืžื—ืฉืฉ ืœืื•ื‘ื“ืŸ ืื™ื›ื•ืช.

F5

ืžืฉืคื—ื” ืฉืœืžื” ืฉืœ ืืœื’ื•ืจื™ืชืžื™ื ืžืชืื™ืžื” ืœืชื ืื™ื ื”ืœืœื•, ืฉืชื•ื›ืœื• ืœื”ื›ื™ืจ ื‘ืžืฆื’ืช ื”ื˜ื•ื‘ื” ื”ื–ื•. ื”ืžืชืงื“ื ืฉื‘ื”ื ื”ื•ื ื”ืืœื’ื•ืจื™ืชื F5 ืžืืช ืื ื“ืจืืก ื•ื•ืกื˜ืคืœื“, ืฉืขื•ื‘ื“ ืขื ื”ืžืงื“ืžื™ื ืฉืœ ืžืจื›ื™ื‘ ื”ื‘ื”ื™ืจื•ืช, ืฉื›ืŸ ื”ืขื™ืŸ ื”ืื ื•ืฉื™ืช ื”ื™ื ื”ื›ื™ ืคื—ื•ืช ืจื’ื™ืฉื” ืœืฉื™ื ื•ื™ื™ื ืฉืœื”. ื™ืชืจื” ืžื›ืš, ื”ื•ื ืžืฉืชืžืฉ ื‘ื˜ื›ื ื™ืงืช ื”ื˜ืžืขื” ื”ืžื‘ื•ืกืกืช ืขืœ ืงื™ื“ื•ื“ ืžื˜ืจื™ืฆื”, ื”ืžืืคืฉืจืช ืœื‘ืฆืข ืคื—ื•ืช ืฉื™ื ื•ื™ื™ื ื‘ืขืช ื”ื˜ืžืขืช ืื•ืชื” ื›ืžื•ืช ืžื™ื“ืข, ื›ื›ืœ ืฉื’ื•ื“ืœ ื”ืžื™ื›ืœ ื‘ื• ื ืขืฉื” ืฉื™ืžื•ืฉ ื’ื“ื•ืœ ื™ื•ืชืจ.

ื”ืฉื™ื ื•ื™ื™ื ืขืฆืžื ืžืกืชื›ืžื™ื ื‘ื”ืคื—ืชืช ื”ืขืจืš ื”ืžื•ื—ืœื˜ ืฉืœ ื”ืžืงื“ืžื™ื ื‘ืื—ื“ ื‘ืชื ืื™ื ืžืกื•ื™ืžื™ื (ื›ืœื•ืžืจ, ืœื ืชืžื™ื“), ืžื” ืฉืžืืคืฉืจ ืœืš ืœื”ืฉืชืžืฉ ื‘-F5 ื›ื“ื™ ืœื™ื™ืขืœ ืืช ืื—ืกื•ืŸ ื”ื ืชื•ื ื™ื ื‘ื›ื•ื ืŸ ื”ืงืฉื™ื— ืฉืœืš. ื”ื ืงื•ื“ื” ื”ื™ื ืฉื›ื›ืœ ื”ื ืจืื” ื”ืžืงื“ื ืœืื—ืจ ืฉื™ื ื•ื™ ื›ื–ื” ื™ืชืคื•ืก ืคื—ื•ืช ื‘ื™ื˜ื™ื ืœืื—ืจ ืงื™ื“ื•ื“ ื”ืืคืžืŸ ื‘ื’ืœืœ ื”ื”ืชืคืœื’ื•ืช ื”ืกื˜ื˜ื™ืกื˜ื™ืช ืฉืœ ื”ืขืจื›ื™ื ื‘-JPEG, ื•ื”ืืคืกื™ื ื”ื—ื“ืฉื™ื ื™ืชื ื• ืจื•ื•ื— ื‘ืขืช ืงื™ื“ื•ื“ื ื‘ืืžืฆืขื•ืช RLE.

ื”ืฉื™ื ื•ื™ื™ื ื”ื ื“ืจืฉื™ื ืžืกืชื›ืžื™ื ื‘ื‘ื™ื˜ื•ืœ ื”ื—ืœืง ื”ืื—ืจืื™ ืขืœ ื”ืกื•ื“ื™ื•ืช (ืกื™ื“ื•ืจ ืžื—ื“ืฉ ืฉืœ ืกื™ืกืžื), ื”ื—ื•ืกืš ืžืฉืื‘ื™ื ื•ื–ืžืŸ ื‘ื™ืฆื•ืข, ื•ื”ื•ืกืคืช ืžื ื’ื ื•ืŸ ืœืขื‘ื•ื“ื” ืขื ืงื‘ืฆื™ื ืจื‘ื™ื ื‘ืžืงื•ื ืื—ื“ ื‘ื›ืœ ืคืขื. ืœื ืกื‘ื™ืจ ืฉื”ืงื•ืจื ื™ืชืขื ื™ื™ืŸ ื‘ืชื”ืœื™ืš ื”ืฉื™ื ื•ื™ ื‘ื™ืชืจ ืคื™ืจื•ื˜, ืื– ื‘ื•ืื• ื ืขื‘ื•ืจ ืœืชื™ืื•ืจ ื”ื™ื™ืฉื•ื.

ื”ื™ื™ ื˜ืง

ื›ื“ื™ ืœื”ื“ื’ื™ื ืื™ืš ื’ื™ืฉื” ื–ื• ืขื•ื‘ื“ืช, ื™ื™ืฉืžืชื™ ืืช ื”ืฉื™ื˜ื” ื‘-C ื˜ื”ื•ืจ ื•ื‘ื™ืฆืขืชื™ ืžืกืคืจ ืื•ืคื˜ื™ืžื™ื–ืฆื™ื•ืช ื”ืŸ ืžื‘ื—ื™ื ืช ืžื”ื™ืจื•ืช ื”ื‘ื™ืฆื•ืข ื•ื”ืŸ ืžื‘ื—ื™ื ืช ื”ื–ื™ื›ืจื•ืŸ (ืืชื ืœื ื™ื›ื•ืœื™ื ืœื“ืžื™ื™ืŸ ื›ืžื” ืฉื•ืงืœื•ืช ื”ืชืžื•ื ื•ืช ื”ืœืœื• ืœืœื ื“ื—ื™ืกื”, ืืคื™ืœื• ืœืคื ื™ DCT). ื—ื•ืฆื” ืคืœื˜ืคื•ืจืžื•ืช ืžื•ืฉื’ืช ื‘ืืžืฆืขื•ืช ืฉื™ืœื•ื‘ ืฉืœ ืกืคืจื™ื•ืช libjpeg, PCRE ะธ tinydir, ื•ืขืœ ื›ืš ืื ื• ืžื•ื“ื™ื ืœื”ื. ื›ืœ ื–ื” ืžื•ืจื›ื‘ ืขืœ ื™ื“ื™ 'make', ื›ืš ืฉืžืฉืชืžืฉื™ Windows ืจื•ืฆื™ื ืœื”ืชืงื™ืŸ ืœืขืฆืžื ืงืฆืช Cygwin ืœืฆื•ืจืš ื”ืขืจื›ื”, ืื• ืœื”ืชืžื•ื“ื“ ืขื Visual Studio ื•ืกืคืจื™ื•ืช ื‘ืขืฆืžื.

ื”ื”ื˜ืžืขื” ื–ืžื™ื ื” ื‘ืฆื•ืจื” ืฉืœ ื›ืœื™ ืขื–ืจ ื•ืกืคืจื™ื™ื” ืœืžืกื•ืฃ. ื”ืžืขื•ื ื™ื™ื ื™ื ื™ื›ื•ืœื™ื ืœื‘ืจืจ ืขื•ื“ ืขืœ ื”ืฉื™ืžื•ืฉ ื‘ืื—ืจื•ืŸ ื‘-readme ื‘ืžืื’ืจ ื‘-Github, ื”ืงื™ืฉื•ืจ ืืœื™ื• ืืฆืจืฃ ื‘ืกื•ืฃ ื”ืคื•ืกื˜.

ื›ื™ืฆื“ ืœื”ืฉืชืžืฉ?

ื‘ืงืคื™ื“ื”. ื”ืชืžื•ื ื•ืช ื”ืžืฉืžืฉื•ืช ืœืืจื™ื–ื” ื ื‘ื—ืจื•ืช ืขืœ ื™ื“ื™ ื—ื™ืคื•ืฉ ื‘ืืžืฆืขื•ืช ื‘ื™ื˜ื•ื™ ืจื’ื•ืœืจื™ ื‘ืกืคืจื™ื™ืช ื”ืฉื•ืจืฉ ื”ื ืชื•ื ื”. ื‘ืกื™ื•ื, ื ื™ืชืŸ ืœื”ืขื‘ื™ืจ ืงื‘ืฆื™ื, ืœืฉื ื•ืช ืืช ืฉืžื•ืชื™ื”ื ื•ืœื”ืขืชื™ืงื ื›ืจืฆื•ื ื ื‘ื’ื‘ื•ืœื•ืชื™ื•, ืœืฉื ื•ืช ืงื‘ืฆื™ื ื•ืžืขืจื›ื•ืช ื”ืคืขืœื” ื•ื›ื•'. ืขื ื–ืืช, ื™ืฉ ืœื”ื™ื–ื”ืจ ื‘ื™ื•ืชืจ ื•ืœื ืœืฉื ื•ืช ืืช ื”ืชื•ื›ืŸ ื”ืžื™ื™ื“ื™ ื‘ืฉื•ื ืฆื•ืจื”. ืื™ื‘ื•ื“ ื”ืขืจืš ืฉืœ ืกื™ื‘ื™ื•ืช ืื—ืช ื™ื›ื•ืœ ืœื”ืคื•ืš ืืช ื–ื” ืœื‘ืœืชื™ ืืคืฉืจื™ ืœืฉื—ื–ืจ ืžื™ื“ืข.

ื‘ืกื™ื•ื, ื›ืœื™ ื”ืฉื™ืจื•ืช ืžืฉืื™ืจ ืงื•ื‘ืฅ ืืจื›ื™ื•ืŸ ืžื™ื•ื—ื“ ื”ืžื›ื™ืœ ืืช ื›ืœ ื”ืžื™ื“ืข ื”ื“ืจื•ืฉ ืœืคืจื™ืงื”, ื›ื•ืœืœ ื ืชื•ื ื™ื ืขืœ ื”ืชืžื•ื ื•ืช ื‘ื”ืŸ ื ืขืฉื” ืฉื™ืžื•ืฉ. ื›ืฉืœืขืฆืžื•, ื”ื•ื ืฉื•ืงืœ ื‘ืขืจืš ื›ืžื” ืงื™ืœื•ื‘ื™ื™ื˜ื™ื ื•ืื™ืŸ ืœื• ื”ืฉืคืขื” ืžืฉืžืขื•ืชื™ืช ืขืœ ืฉื˜ื— ื”ื“ื™ืกืง ื”ืชืคื•ืก.

ืืชื” ื™ื›ื•ืœ ืœื ืชื— ืืช ื”ืงื™ื‘ื•ืœืช ื”ืืคืฉืจื™ืช ื‘ืืžืฆืขื•ืช ื”ื“ื’ืœ '-a': './f5ar -a [ืชื™ืงื™ื™ืช ื—ื™ืคื•ืฉ] [ื‘ื™ื˜ื•ื™ ืจื’ื•ืœืจื™ ืชื•ืื Perl]'. ื”ืืจื™ื–ื” ืžืชื‘ืฆืขืช ืขื ื”ืคืงื•ื“ื” './f5ar -p [ืชื™ืงื™ื™ืช ื—ื™ืคื•ืฉ] [ื‘ื™ื˜ื•ื™ ืจื’ื•ืœืจื™ ืชื•ืื Perl] [ืงื•ื‘ืฅ ืืจื•ื–] [ืฉื ืืจื›ื™ื•ืŸ]', ื•ืคืจื™ืงื” ืขื './f5ar -u [ืงื•ื‘ืฅ ืืจื›ื™ื•ืŸ] [ืฉื ืงื•ื‘ืฅ ืžืฉื•ื—ื–ืจ ]'.

ื”ื“ื’ืžืช ืขื‘ื•ื“ื”

ื›ื“ื™ ืœื”ืจืื•ืช ืืช ื™ืขื™ืœื•ืช ื”ืฉื™ื˜ื”, ื”ืขืœื™ืชื™ ืื•ืกืฃ ืฉืœ 225 ืชืžื•ื ื•ืช ื‘ื—ื™ื ื ืœื—ืœื•ื˜ื™ืŸ ืฉืœ ื›ืœื‘ื™ื ืžื”ืฉื™ืจื•ืช Unsplash ื•ืžืฆื ื‘ืžืกืžื›ื™ื PDF ื’ื“ื•ืœ ืฉืœ 45 ืžื˜ืจ ืžื”ื›ืจืš ื”ืฉื ื™ ืืžื ื•ืช ื”ืชื›ื ื•ืช ืงื ื•ื˜ื”.

ื”ืจืฆืฃ ื“ื™ ืคืฉื•ื˜:

$ du -sh knuth.pdf dogs/
44M knuth.pdf
633M dogs/

$ ./f5ar -p dogs/ .*jpg knuth.pdf dogs.f5ar
Reading compressing file... ok
Initializing the archive... ok
Analysing library capacity... done in 17.0s
Detected somewhat guaranteed capacity of 48439359 bytes
Detected possible capacity of upto 102618787 bytes
Compressing... done in 39.4s
Saving the archive... ok

$ ./f5ar -u dogs/dogs.f5ar knuth_unpacked.pdf
Initializing the archive... ok
Reading the archive file... ok
Filling the archive with files... done in 1.4s
Decompressing... done in 21.0s
Writing extracted data... ok

$ sha1sum knuth.pdf knuth_unpacked.pdf
5bd1f496d2e45e382f33959eae5ab15da12cd666 knuth.pdf
5bd1f496d2e45e382f33959eae5ab15da12cd666 knuth_unpacked.pdf

$ du -sh dogs/
551M dogs/

ืฆื™ืœื•ืžื™ ืžืกืš ืœืžืขืจื™ืฆื™ื

ืขืœ ืฉื™ื˜ื” ืžื•ื–ืจื” ืœื—ื™ืกื›ื•ืŸ ื‘ืฉื˜ื— ื‘ื“ื™ืกืง ื”ืงืฉื™ื—

ื ื™ืชืŸ ื•ืฆืจื™ืš ืœืงืจื•ื ืืช ื”ืงื•ื‘ืฅ ืฉื ืคืจืง:

ืขืœ ืฉื™ื˜ื” ืžื•ื–ืจื” ืœื—ื™ืกื›ื•ืŸ ื‘ืฉื˜ื— ื‘ื“ื™ืกืง ื”ืงืฉื™ื—

ื›ืคื™ ืฉืืชื” ื™ื›ื•ืœ ืœืจืื•ืช, ืž-633 + 36 == 669 ืžื’ื”-ื‘ืชื™ื ื”ืžืงื•ืจื™ื™ื ืฉืœ ื ืชื•ื ื™ื ื‘ื›ื•ื ืŸ ื”ืงืฉื™ื—, ื”ื’ืขื ื• ืœ-551 ื ืขื™ืžื™ื ื™ื•ืชืจ. ื”ื‘ื“ืœ ืงื™ืฆื•ื ื™ ื›ื–ื” ืžื•ืกื‘ืจ ืขืœ ื™ื“ื™ ื”ื™ืจื™ื“ื” ื‘ืขืจื›ื™ ื”ืžืงื“ืžื™ื, ื”ืžืฉืคื™ืขื” ืขืœื™ื”ื. ื“ื—ื™ืกื” ืœืœื ื”ืคืกื“ื™ื ืฉืœืื—ืจ ืžื›ืŸ: ืฆืžืฆื•ื ืื—ื“ ืื—ื“ ื‘ืœื‘ื“ ื™ื›ื•ืœ ื‘ืงืœื•ืช "ืœื ืชืง ื›ืžื” ื‘ืชื™ื ืžื”ืงื•ื‘ืฅ ื”ืกื•ืคื™. ืขื ื–ืืช, ื–ื” ืขื“ื™ื™ืŸ ืื•ื‘ื“ืŸ ื ืชื•ื ื™ื, ืื ื›ื™ ืงื˜ืŸ ื‘ื™ื•ืชืจ, ืฉืชืฆื˜ืจืš ืœืกื‘ื•ืœ.

ืœืžืจื‘ื” ื”ืžื–ืœ, ื”ื ื‘ืœืชื™ ื ืจืื™ื ืœื—ืœื•ื˜ื™ืŸ ืœืขื™ืŸ. ืชื—ืช ื”ืกืคื•ื™ื™ืœืจ (ืžื›ื™ื•ื•ืŸ ืฉ-habrastorage ืื™ื ื• ื™ื›ื•ืœ ืœื”ืชืžื•ื“ื“ ืขื ืงื‘ืฆื™ื ื’ื“ื•ืœื™ื), ื”ืงื•ืจื ื™ื›ื•ืœ ืœื”ืขืจื™ืš ืืช ื”ื”ื‘ื“ืœ ื”ืŸ ืœืคื™ ื”ืขื™ืŸ ื•ื”ืŸ ื‘ืขื•ืฆืžืชื, ื”ืžืชืงื‘ืœ ืขืœ ื™ื“ื™ ื”ืคื—ืชืช ื”ืขืจื›ื™ื ืฉืœ ื”ืจื›ื™ื‘ ืฉื”ืฉืชื ื” ืžื”ืžืงื•ืจ: ืžืงื•ืจื™, ืขื ืžื™ื“ืข ื‘ืคื ื™ื, ื”ื‘ื“ืœ (ื›ื›ืœ ืฉื”ืฆื‘ืข ืขืžื•ื ื™ื•ืชืจ, ื”ื”ื‘ื“ืœ ื‘ื‘ืœื•ืง ืงื˜ืŸ ื™ื•ืชืจ).

ื‘ืžืงื•ื ืžืกืงื ื”

ื‘ื”ืชื—ืฉื‘ ื‘ื›ืœ ื”ืงืฉื™ื™ื ื”ืœืœื•, ืงื ื™ื™ืช ื›ื•ื ืŸ ืงืฉื™ื— ืื• ื”ืขืœืืช ื”ื›ืœ ืœืขื ืŸ ืขืฉื•ื™ ืœื”ื™ืจืื•ืช ื›ืžื• ืคืชืจื•ืŸ ื”ืจื‘ื” ื™ื•ืชืจ ืคืฉื•ื˜ ืœื‘ืขื™ื”. ืื‘ืœ ืœืžืจื•ืช ืฉืื ื—ื ื• ื—ื™ื™ื ื‘ืชืงื•ืคื” ื›ืœ ื›ืš ื ืคืœืื” ืขื›ืฉื™ื•, ืื™ืŸ ืขืจื•ื‘ื” ืฉืžื—ืจ ืขื“ื™ื™ืŸ ื™ื”ื™ื” ืืคืฉืจ ืœื”ื™ื›ื ืก ืœืื™ื ื˜ืจื ื˜ ื•ืœื”ืขืœื•ืช ืืช ื›ืœ ื”ื ืชื•ื ื™ื ื”ื ื•ืกืคื™ื ืฉืœืš ืœืื ืฉื”ื•. ืื• ืœืš ืœื—ื ื•ืช ื•ืงื ื” ืœืขืฆืžืš ืขื•ื“ ื›ื•ื ืŸ ืงืฉื™ื— ืฉืœ ืืœืฃ ื˜ืจื”-ื‘ื™ื™ื˜. ืื‘ืœ ืืชื” ืชืžื™ื“ ื™ื›ื•ืœ ืœื”ืฉืชืžืฉ ื‘ื‘ืชื™ื ืงื™ื™ืžื™ื.

-> GitHub

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”