рд╕реНрдЯреЗрдЧреНрдиреЛрдЧреНрд░рд╛рдлреА рд╡рд╛рдкрд░реВрди рд╣рд╛рд░реНрдб рдбреНрд░рд╛рдЗрд╡реНрд╣ рдЬрд╛рдЧрд╛ рд╡рд╛рдЪрд╡рд╛

рдЬреЗрд╡реНрд╣рд╛ рдЖрдкрдг рд╕реНрдЯреЗрдЧреНрдиреЛрдЧреНрд░рд╛рдлреАрдмрджреНрджрд▓ рдмреЛрд▓рддреЛ, рддреЗрд╡реНрд╣рд╛ рд▓реЛрдХ рджрд╣рд╢рддрд╡рд╛рджреА, рдкреЗрдбреЛрдлрд╛рдЗрд▓, рд╣реЗрд░ рдХрд┐рдВрд╡рд╛, рд╕рд░реНрд╡рд╛рдд рдЪрд╛рдВрдЧрд▓реЗ, рдХреНрд░рд┐рдкреНрдЯреЛрдЕрдирд╛рд░реНрдХрд┐рд╕реНрдЯ рдЖрдгрд┐ рдЗрддрд░ рд╢рд╛рд╕реНрддреНрд░рдЬреНрдЮрд╛рдВрдЪрд╛ рд╡рд┐рдЪрд╛рд░ рдХрд░рддрд╛рдд. рдЖрдгрд┐ рдЦрд░реЛрдЦрд░, рдЖрдгрдЦреА рдХреЛрдгрд╛рд▓рд╛ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рд▓рдкрд╡рд╛ рдмрд╛рд╣реНрдп рдбреЛрд│реНрдпрд╛рдВрдордзреВрди рдХрд╛рд╣реАрддрд░реА? рдпрд╛рдЪрд╛ рд╕рд╛рдорд╛рдиреНрдп рдорд╛рдгрд╕рд╛рд▓рд╛ рдХрд╛рдп рдлрд╛рдпрджрд╛ рд╣реЛрдК рд╢рдХрддреЛ?

рддреЛ рдПрдХ рдЖрд╣реЗ рдмрд╛рд╣реЗрд░ рд╡рд│рддреЗ. рдореНрд╣рдгреВрдирдЪ рдЖрдЬ рдЖрдкрдг рд╕реНрдЯреЗрдЧреНрдиреЛрдЧреНрд░рд╛рдлреА рдкрджреНрдзрддреА рд╡рд╛рдкрд░реВрди рдбреЗрдЯрд╛ рд╕рдВрдХреБрдЪрд┐рдд рдХрд░реВ. рдЖрдгрд┐ рд╕рд░рддреЗрд╢реЗрд╡рдЯреА, рд╡рд╛рдЪрдХ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдорд╡рд░ рд╡рд┐рдирд╛рдореВрд▓реНрдп рдЧреАрдЧрд╛рдмрд╛рдЗрдЯреНрд╕рдЪреА рд╕рдВрдЦреНрдпрд╛ рд╡рд╛рдврд╡рдгреНрдпрд╛рд╕рд╛рдареА JPEG рдордзреНрдпреЗ рддреНрдпрд╛рдЪреЗ рдореМрд▓реНрдпрд╡рд╛рди рдлреЛрдЯреЛ рд╕рдВрдЧреНрд░рд╣рдг рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕ рд╕рдХреНрд╖рдо рдЕрд╕реЗрд▓.

рд╕реНрдЯреЗрдЧреНрдиреЛрдЧреНрд░рд╛рдлреА рд╡рд╛рдкрд░реВрди рд╣рд╛рд░реНрдб рдбреНрд░рд╛рдЗрд╡реНрд╣ рдЬрд╛рдЧрд╛ рд╡рд╛рдЪрд╡рд╛

рдХрд╛рдп?

рд╡рд╛рдЪрдХрд╛рдВрдЪреНрдпрд╛ рд▓рдХреНрд╖рд╛рдд рдЕрд╕рд▓реНрдпрд╛рд╕, рд╕реНрдЯреЗрдЧреНрдиреЛрдЧреНрд░рд╛рдлреА рд╣реА рдЕрд╢реА рд╡рд┐рдЪрд┐рддреНрд░ рдЕрд▓реНрдЧреЛрд░рд┐рджрдо рдЖрд╣реЗ рдЬреНрдпрд╛рдореБрд│реЗ рдПрдХрд╛ рдорд╛рд╣рд┐рддреАрдЪреА рдЙрдкрд╕реНрдерд┐рддреА рджреБрд╕рд░реНтАНрдпрд╛ рдЖрдд рд▓рдкрд╡рдгреЗ рд╢рдХреНрдп рд╣реЛрддреЗ. рдЕрдЧрджреА рд╕реЛрдкреНрдпрд╛ рднрд╛рд╖реЗрдд: рдЪрд┐рддреНрд░ + рдлрд╛рдЗрд▓ == рдЕрдВрджрд╛рдЬреЗ рд╕рдорд╛рди рдЪрд┐рддреНрд░, рдкрд░рдВрддреБ рдлрд╛рд░рд╕реЗ рдирд╛рд╣реА (рдЪрд┐рддреНрд░рд╛рдВрдРрд╡рдЬреА рдХрд╛рд╣реАрд╣реА рдЕрд╕реВ рд╢рдХрддреЗ, рдкрд░рдВрддреБ рд╕рд╛рдорд╛рдиреНрдпрддрдГ рддреНрдпрд╛рдордзреНрдпреЗ рд╕рд░реНрд╡рдХрд╛рд╣реА рд╕реНрдкрд╖реНрдЯ рдЕрд╕рддреЗ). рдЖрдд рдХрд╛рд╣реАрддрд░реА рдЖрд╣реЗ рдХреА рдирд╛рд╣реА рд╣реЗ рдард░рд╡рдгреНрдпрд╛рдЪрд╛ рд╕реЛрдкрд╛ рдорд╛рд░реНрдЧ рдирд╕рд╛рд╡рд╛.

рдкрдг рдЬрд░ рдПрдЦрд╛рджреНрдпрд╛рд▓рд╛ рджреБрд╕рд▒реНрдпрд╛рдкрд╛рд╕реВрди рд╡реЗрдЧрд│реЗ рдХрд░рддрд╛ рдпреЗрдд рдирд╕реЗрд▓ рддрд░ рддреНрдпрд╛рдд рдХрд╛рд╣реА рдлрд░рдХ рдЖрд╣реЗ рдХрд╛? рдЧреНрд░рд╛рд╣рдХрд╛рдЪреНрдпрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдирд╛рддреВрди, рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рд▓рд╛ рдЧрдгрд┐рддрд╛рдЪреНрдпрд╛ рдЕрдЪреВрдХрддреЗрдЪреА (рдмрд┐рдЯрд╛рдВрдЪреНрдпрд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдВрдЪрд╛рджреНрд╡рд╛рд░реЗ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд) рдХрд╛рд│рдЬреА рдирд╕рддреЗ, рдлрдХреНрдд рддреНрдпрд╛рд▓рд╛ рдХрд╛рдп рд╕рдордЬрддреЗ.

рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдПрдХрд╛ рдЧреЛрдВрдбрд╕ рдХреБрддреНрд░реНрдпрд╛рдЪреНрдпрд╛ рддреАрди рдкреНрд░рддрд┐рдорд╛ рдкрд╛рд╣реВ:

рд╕рд╛рд╡рдзрд╛рди, JPEG!

рд╕реНрдЯреЗрдЧреНрдиреЛрдЧреНрд░рд╛рдлреА рд╡рд╛рдкрд░реВрди рд╣рд╛рд░реНрдб рдбреНрд░рд╛рдЗрд╡реНрд╣ рдЬрд╛рдЧрд╛ рд╡рд╛рдЪрд╡рд╛ рд╕реНрдЯреЗрдЧреНрдиреЛрдЧреНрд░рд╛рдлреА рд╡рд╛рдкрд░реВрди рд╣рд╛рд░реНрдб рдбреНрд░рд╛рдЗрд╡реНрд╣ рдЬрд╛рдЧрд╛ рд╡рд╛рдЪрд╡рд╛ рд╕реНрдЯреЗрдЧреНрдиреЛрдЧреНрд░рд╛рдлреА рд╡рд╛рдкрд░реВрди рд╣рд╛рд░реНрдб рдбреНрд░рд╛рдЗрд╡реНрд╣ рдЬрд╛рдЧрд╛ рд╡рд╛рдЪрд╡рд╛

рдЖрдХрд╛рд░рд╛рдд рдкреНрд░рдЪрдВрдб рдлрд░рдХ рдЕрд╕реВрдирд╣реА, рдХрд╛рд╣реА рд▓реЛрдХ рддрд┐рд╕рд░реА рдЖрд╡реГрддреНрддреА рдирд┐рд╡рдбрддреАрд▓. рджреБрд╕рд░реАрдХрдбреЗ, рдкрд╣рд┐рд▓реНрдпрд╛ рджреЛрди рдЫрд╛рдпрд╛рдЪрд┐рддреНрд░рд╛рдВрдордзреАрд▓ рдлрд░рдХ рдЗрддрдХрд╛ рд▓рдХреНрд╖рдгреАрдп рдирд╛рд╣реА рдЖрдгрд┐ рддреНрдпрд╛рддреАрд▓ рдорд╛рд╣рд┐рддреАрдЪреЗ рдкреНрд░рдорд╛рдг (рдорд╛рдЭреНрдпрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдирд╛рддреВрди) рд╕рдорд╛рди рдЕрд╕реВ рд╢рдХрддреЗ.

рд╣реЗ рддрддреНрддреНрд╡ рдЖрдзреАрдЪ рдЬреБрдиреЗ рдЖрд╣реЗ рдЖрдгрд┐ рдмрд░реНрдпрд╛рдЪ рд╡рд░реНрд╖рд╛рдВрдкрд╛рд╕реВрди рд╣рд╛рдиреАрдХрд╛рд░рдХ рдорд╛рд╣рд┐рддреА рдХреЙрдореНрдкреНрд░реЗрд╢рди рдкрджреНрдзрддреАрдВрдиреА рд╕рдХреНрд░рд┐рдпрдкрдгреЗ рд╢реЛрд╖рдг рдХреЗрд▓реЗ рдЖрд╣реЗ. рдкрд░рдВрддреБ рддреЛрдбрдгреЗ рдореНрд╣рдгрдЬреЗ рдЗрдорд╛рд░рдд рдирд╛рд╣реА; рдЖрдореНрд╣рд╛рд▓рд╛ рд╕рдорд╕реНрдпреЗрдЪреНрдпрд╛ рдЕрдзрд┐рдХ рдкреНрд░рдЧрдд рдмрд╛рдЬреВрдордзреНрдпреЗ рд░рд╕ рдЖрд╣реЗ. рдЕрддрд┐рд░рд┐рдХреНрдд рдЖрдХрд╛рд░рд╛рдЪреА рдорд╛рд╣рд┐рддреА рдПрдореНрдмреЗрдб рдХрд░рдгреЗ рд╢рдХреНрдп рдЖрд╣реЗ рдХрд╛ N рдлрд╛рдИрд▓рдордзреНрдпреЗ рдЬреЗрдгреЗрдХрд░реВрди рддреНрдпрд╛рдЪрд╛ рдЖрдХрд╛рд░ рд╡рд╛рдвреЗрд▓ M < N, рдкрд░рдВрддреБ рдмрджрд▓ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдЪреНрдпрд╛ рд▓рдХреНрд╖рд╛рдд рдпреЗрдгреНрдпрд╛рд╕рд╛рд░рдЦреЗ рдирд╡реНрд╣рддреЗ?

рддреВ рдирдХреНрдХреАрдЪ рдХрд░реВ рд╢рдХрддреЛрд╕. рдкрд░рдВрддреБ рд▓рдЧреЗрдЪрдЪ рдХрд╛рд╣реА рдЖрд░рдХреНрд╖рдгреЗ рдХрд░рдгреЗ рдпреЛрдЧреНрдп рдЖрд╣реЗ:

  • рдкреНрд░рдердо, рдкрджреНрдзрдд рд╕рд╛рд░реНрд╡рддреНрд░рд┐рдХ рдЕрд╕рд▓реА рдкрд╛рд╣рд┐рдЬреЗ рдЖрдгрд┐ рдмрд╣реБрддреЗрдХ рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛рд╡рд░ рд╕рдХрд╛рд░рд╛рддреНрдордХ рдкрд░рд┐рдгрд╛рдо рджреНрдпрд╛. рдореНрд╣рдгрдЬреЗрдЪ, рд╕рд░рд╛рд╕рд░реА, рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдЗрдирдкреБрдЯрд╕рд╛рдареА, рд╕рдВрдЪрдпрд┐рдд рдХреЗрд▓реЗрд▓реНрдпрд╛ рдорд╛рд╣рд┐рддреАрдЪреНрдпрд╛ рдкреНрд░рдорд╛рдгрд╛рдд рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдШрдЯ рдЭрд╛рд▓реА рдкрд╛рд╣рд┐рдЬреЗ. "рд╕рд░рд╛рд╕рд░реА" рдпрд╛рдЪрд╛ рдЕрд░реНрде рдЕрд╕рд╛ рдЖрд╣реЗ рдХреА рдЙрд▓рдЯ рдШрдбреВ рд╢рдХрддреЗ, рдкрд░рдВрддреБ рдкреНрд░рдмрд│ рдирд╕рд╛рд╡реЗ.
  • рджреБрд╕рд░реЗ рдореНрд╣рдгрдЬреЗ, рдорд╛рд╣рд┐рддреА рдПрдореНрдмреЗрдб рдХрд░рдгреНрдпрд╛рдкреВрд░реНрд╡реА рд╕рдВрдХреБрдЪрд┐рдд рдХрдВрдЯреЗрдирд░рдЪрд╛ рдЖрдХрд╛рд░ рддреНрдпрд╛рдЪ рдкреНрд░рдХрд╛рд░реЗ рд╕рдВрдХреБрдЪрд┐рдд рдХреЗрд▓реЗрд▓реНрдпрд╛ рдмрджрд▓рд╛рдкреЗрдХреНрд╖рд╛ рдореЛрдард╛ рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. LSB рдкрджреНрдзрддреАрдЪрд╛ рд╡рд╛рдкрд░ рдХрд░реВрди BMP рдкреНрд░рддрд┐рдорд╛рдВрдордзреНрдпреЗ рдлрдХреНрдд рдмрд┐рдЯреНрд╕ рдПрдореНрдмреЗрдб рдХрд░рдгреЗ рд╣реЗ рд╕реНрдЯреЗрдЧреЕрдиреЛрдЧреНрд░рд╛рдлрд┐рдХ рдХреЙрдореНрдкреНрд░реЗрд╢рди рдирд╛рд╣реА, рдХрд╛рд░рдг, рдХрд╛рд╣реА рдкреНрд░рдХрд╛рд░рдЪреНрдпрд╛ DEFLATE рджреНрд╡рд╛рд░реЗ рдЪрд╛рд▓рд╡рд▓реНрдпрд╛ рдЧреЗрд▓реНрдпрд╛рдореБрд│реЗ, рдореВрд│ рдкреНрд░рддрд┐рдорд╛ рдмрд╣реБрдзрд╛ рд▓рдХреНрд╖рдгреАрдпрдкрдгреЗ рд▓рд╣рд╛рди рдЕрд╕реЗрд▓.
  • рддрд┐рд╕рд░реЗ рдореНрд╣рдгрдЬреЗ, рдирд┐рдХрд╛рд▓ рдХрд╛рдврд▓рд╛ рдЬрд╛рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рдЖрдгрд┐ рд╢рд╛рд╕реНрддреНрд░реАрдп рдкрджреНрдзрддреАрдВрдиреА рдЖрдзреАрдЪ рд╕рдВрдХреБрдЪрд┐рдд рдХреЗрд▓реЗрд▓реНрдпрд╛ рдбреЗрдЯрд╛рдЪреНрдпрд╛ рд╕рдВрджрд░реНрднрд╛рдд рддреБрд▓рдирд╛ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рд╣реЗ рддреНрдпрд╛рдВрдЪреНрдпрд╛ рд░рд┐рдбрдВрдбрдВрд╕реАрдордзреАрд▓ рдлрд░рдХрд╛рдВрдЪрд╛ рд╕рдВрднрд╛рд╡реНрдп рдкреНрд░рднрд╛рд╡ рдХрд╛рдвреВрди рдЯрд╛рдХреЗрд▓ рдЖрдгрд┐ рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рдХрд░рдгрд╛рдд рдЕрдзрд┐рдХ рдХрд╛рд░реНрдпрдХреНрд╖рдо рдХреЙрдореНрдкреНрд░реЗрд╢рди рдкреНрд░рджрд╛рди рдХрд░реЗрд▓.

рдХреЛрдареЗ?

рд╕реНрдЯреЗрдЧреНрдиреЛрдЧреНрд░рд╛рдлреАрдЪрд╛ рд╡рд╛рдкрд░ рд╕реВрдЪрд┐рдд рдХрд░рддреЛ рдХреА, рд╕рдВрдХреБрдЪрд┐рдд рдорд╛рд╣рд┐рддреА рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, рдЖрдореНрд╣рд╛рд▓рд╛ рдХрдВрдЯреЗрдирд░рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрд╕реЗрд▓ рдЬреНрдпрд╛рдордзреНрдпреЗ рддреА рдПрдореНрдмреЗрдб рдХреЗрд▓реА рдЬрд╛рдИрд▓. рдПрдореНрдмреЗрдб рдХреЗрд▓реЗрд▓реНрдпрд╛ рдорд╛рд╣рд┐рддреАрдЪреА рдХрдорд╛рд▓ рд░рдХреНрдХрдо рдореБрдЦреНрдпрддреНрд╡реЗ рд╡реИрдпрдХреНрддрд┐рдХ рдЧреБрдгрдзрд░реНрдорд╛рдВрд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рдЕрд╕рддреЗ, рдкрд░рдВрддреБ рддреНрдпрд╛рдВрдЪреА рд╕рдВрдЦреНрдпрд╛ рдореЛрдЬрдгреЗ рдЦреВрдк рд╕реЛрдкреЗ рдЖрд╣реЗ. рдореНрд╣рдгреВрди, рдХрдВрдЯреЗрдирд░рдЪреЗ рд╕реНрд╡рд░реВрдк рд╕рд╛рдорд╛рдиреНрдп рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рдЬреЗрдгреЗрдХрд░реБрди рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдХрдбреЗ "рдХрдВрдкреНрд░реЗрд╢рди" рдкреНрд░рдХреНрд░рд┐рдпреЗрдЪрд╛ рдХреЛрдгрддрд╛рд╣реА рдлрд╛рдпрджрд╛ рдорд┐рд│рд╡рд┐рдгреНрдпрд╛рд╕рд╛рдареА рдкреБрд░реЗрд╕рд╛ рдЕрд╕реЗрд▓.

рдпрд╛ рд╕рдВрджрд░реНрднрд╛рдд, рдЧреНрд░рд╛рдлрд┐рдХреНрд╕, рдСрдбрд┐рдУ рдЖрдгрд┐ рд╡реНрд╣рд┐рдбрд┐рдУ рдлрд╛рдЗрд▓реНрд╕ рдЪрд╛рдВрдЧрд▓реЗ рдЙрдореЗрджрд╡рд╛рд░ рдЖрд╣реЗрдд. рдкрд░рдВрддреБ, рд╡рд┐рд╡рд┐рдз рд╕реНрд╡рд░реВрдк, рдХреЛрдбреЗрдХреНрд╕ рдЗрддреНрдпрд╛рджреАрдВрдЪреНрдпрд╛ рд╡рд┐рд╡рд┐рдзрддреЗрдореБрд│реЗ, рд╡реНрдпрд╡рд╣рд╛рд░рд╛рдд рдЖрдордЪреНрдпрд╛рдХрдбреЗ рдЗрддрдХреНрдпрд╛ рдкрд░реНрдпрд╛рдпрд╛рдВрдкреИрдХреА рдПрдХ рдкрд░реНрдпрд╛рдп рд╢рд┐рд▓реНрд▓рдХ рдЖрд╣реЗ.

рд╣реЗ рд╕рд░реНрд╡ рд▓рдХреНрд╖рд╛рдд рдШреЗрддрд╛, рдорд╛рдЭреА рдирд┐рд╡рдб JPEG рд╡рд░ рдкрдбрд▓реА. рдЬрд╡рд│рдЬрд╡рд│ рдкреНрд░рддреНрдпреЗрдХрд╛рдХрдбреЗ рддреА рдЖрд╣реЗ, рдмрд╣реБрддреЗрдХ рдкреНрд░рддрд┐рдорд╛рдВрд╕рд╛рдареА рдЬрд╡рд│рдЬрд╡рд│ рдбреА-рдлреЕрдХреНрдЯреЛ рдлреЙрд░рдореЕрдЯ рдЕрд╕рд▓реНрдпрд╛рдиреЗ, рд╡реИрдпрдХреНрддрд┐рдХ рдЖрдгрд┐ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рджреЛрдиреНрд╣реА рд╣реЗрддреВрдВрд╕рд╛рдареА рддреЗ рдореЛрдареНрдпрд╛ рдкреНрд░рдорд╛рдгрд╛рд╡рд░ рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рддреЗ.

рд╕реНрдЯреЗрдЧреНрдиреЛрдЧреНрд░рд╛рдлреА рд╡рд╛рдкрд░реВрди рд╣рд╛рд░реНрдб рдбреНрд░рд╛рдЗрд╡реНрд╣ рдЬрд╛рдЧрд╛ рд╡рд╛рдЪрд╡рд╛

рддреЗ рдЕрд╡рд▓рдВрдмреВрди рдЖрд╣реЗ?

рдкреБрдвреЗ рдЬрд╡рд│- рдЖрдгрд┐ рддрд╛рдВрддреНрд░рд┐рдХ рдЖрдХреГрддреНрдпрд╛ рдЖрдгрд┐ рд╡рд░реНрдгрдиреЗ рдЬрд╛рд╕реНрдд рд╕реНрдкрд╖реНрдЯреАрдХрд░рдгрд╛рд╢рд┐рд╡рд╛рдп рдЖрд╣реЗрдд, рдореНрд╣рдгреВрди рдЬреНрдпрд╛рдВрдирд╛ рд╕реНрд╡рд╛рд░рд╕реНрдп рдЖрд╣реЗ рддреЗ тАЬрдЙрдЪреНрдЪ рддрдВрддреНрд░рдЬреНрдЮрд╛рдитАЭ рд╡рд┐рднрд╛рдЧрд╛рдд рд╕реНрдХреНрд░реЛрд▓ рдХрд░реВрди рддреЗ рд╡рдЧрд│реВ рд╢рдХрддрд╛рдд.

рд╕рд╛рдорд╛рдиреНрдп рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ

рдХреБрдареЗрддрд░реА рдбреЗрдЯрд╛ рдПрдореНрдмреЗрдб рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдЖрдкрдг рдкреНрд░рдердо рдХреБрдареЗ рд╣реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯреАрдорд╡рд░ рдХрд┐рддреАрд╣реА рд╡реЗрдЧрд╡реЗрдЧрд│реА рдЫрд╛рдпрд╛рдЪрд┐рддреНрд░реЗ рдЕрд╕реВ рд╢рдХрддрд╛рдд, рдЬреНрдпрд╛рдкреИрдХреА рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рд▓рд╛ рдлрдХреНрдд рдХрд╛рд╣реА рд╡рд╛рдкрд░рд╛рдпрдЪреЗ рдЕрд╕рддреАрд▓. рдХрдВрдЯреЗрдирд░рдЪреНрдпрд╛ рдЕрд╢рд╛ рдЗрдЪреНрдЫрд┐рдд рд╕рдВрдЪрд╛рд▓рд╛ рдЖрдореНрд╣реА рд▓рд╛рдпрдмреНрд░рд░реА рдореНрд╣рдгреВ.

рд╣реЗ рджреЛрди рдкреНрд░рдХрд░рдгрд╛рдВрдордзреНрдпреЗ рддрдпрд╛рд░ рд╣реЛрддреЗ: рдХрдореНрдкреНрд░реЗрд╢рдирдкреВрд░реНрд╡реА рдЖрдгрд┐ рдбреАрдХрдВрдкреНрд░реЗрд╢рдирдкреВрд░реНрд╡реА. рдкрд╣рд┐рд▓реНрдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд, рдЖрдкрдг рдлрдХреНрдд рдлрд╛рдЗрд▓реНрд╕рдЪреНрдпрд╛ рдирд╛рд╡рд╛рдВрдЪрд╛ рд╕рдВрдЪ (рдХрд┐рдВрд╡рд╛ рдЕрдЬреВрди рдЪрд╛рдВрдЧрд▓рд╛, рддреНрдпрд╛рдВрдЪреНрдпрд╛рд╕рд╛рдареА рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддреА) рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛, рдкрд░рдВрддреБ рджреБрд╕рд▒реНрдпрд╛рдордзреНрдпреЗ, рдХрд╛рд╣реАрддрд░реА рдЕрдзрд┐рдХ рд╡рд┐рд╢реНрд╡рд╛рд╕рд╛рд░реНрд╣ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ: рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдордордзреНрдпреЗ рдХреЙрдкреА рдЖрдгрд┐ рд╣рд▓рд╡реВ рд╢рдХрддреЛ. , рдЬреНрдпрд╛рдореБрд│реЗ рддреНрдпрд╛рдВрдирд╛ рдпреЛрдЧреНрдпрд░рд┐рддреНрдпрд╛ рдУрд│рдЦрд▓реЗ рдЬрд╛рдгреНрдпрд╛рдкрд╛рд╕реВрди рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд░рддреЗ. рдореНрд╣рдгреВрди, рд╕рд░реНрд╡ рдмрджрд▓ рдХреЗрд▓реНрдпрд╛рдирдВрддрд░ рддреНрдпрд╛рдВрдЪреЗ рд╣реЕрд╢ (md5 рдкреБрд░реЗрд╕реЗ рдЖрд╣реЗ) рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.

рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд, рд╕рдВрдкреВрд░реНрдг рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдордордзреНрдпреЗ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддреА рд╡рд╛рдкрд░реВрди рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╢реЛрдз рдШреЗрдгреНрдпрд╛рдд рдХрд╛рд╣реА рдЕрд░реНрде рдирд╛рд╣реА; рд╡рд┐рд╢рд┐рд╖реНрдЯ рд░реВрдЯ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдгреЗ рдкреБрд░реЗрд╕реЗ рдЖрд╣реЗ. рддреНрдпрд╛рдд рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╕рдВрдЧреНрд░рд╣рдг рдлрд╛рдЗрд▓ рдЬрддрди рдХреЗрд▓реА рдЬрд╛рдИрд▓, рдЬреНрдпрд╛рдордзреНрдпреЗ рд╕рдВрдХреБрдЪрд┐рдд рдорд╛рд╣рд┐рддреАрдЪреНрдпрд╛ рддреНрдпрд╛рдирдВрддрд░рдЪреНрдпрд╛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддреАрд╕рд╛рдареА рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдЗрддрд░ рдореЗрдЯрд╛-рдорд╛рд╣рд┐рддреАрд╕рд╣ рддреНрдпрд╛ рд╣реЕрд╢ рдЕрд╕рддреАрд▓.

рд╣реЗ рд╕рд░реНрд╡ рдХреЛрдгрддреНрдпрд╛рд╣реА рд╕реНрдЯреЗрдЧреЕрдиреЛрдЧреНрд░рд╛рдлрд┐рдХ рдбреЗрдЯрд╛ рдХрдореНрдкреНрд░реЗрд╢рди рдЕрд▓реНрдЧреЛрд░рд┐рджрдордЪреНрдпрд╛ рдХреЛрдгрддреНрдпрд╛рд╣реА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрд╡рд░ рддрд┐рддрдХреЗрдЪ рд▓рд╛рдЧреВ рд╣реЛрддреЗ. рдбреЗрдЯрд╛ рдХреЙрдореНрдкреНрд░реЗрд╢рди рдЖрдгрд┐ рд░рд┐рдХрд╡реНрд╣рд░реАрдЪреНрдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпреЗрд╕ рд╕реНрд╡рддрдГрдЪ рдкреЕрдХрд┐рдВрдЧ рдЖрдгрд┐ рдЕрдирдкреЕрдХрд┐рдВрдЧ рдЕрд╕реЗ рдореНрд╣рдЯрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ.

F5

рдЖрддрд╛ рдЖрдкрдг рдХрд╛рдп рдХрд░рдд рдЖрд╣реЛрдд рдЖрдгрд┐ рдХрд╛ рд╣реЗ рд╕реНрдкрд╖реНрдЯ рдЭрд╛рд▓реЗ рдЖрд╣реЗ, рдзреНрдпреЗрдп рд╕рд╛рдзреНрдп рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЕрд▓реНрдЧреЛрд░рд┐рджрдордЪреЗ рд╡рд░реНрдгрди рдХрд░рдгреЗ рдмрд╛рдХреА рдЖрд╣реЗ. рдЬреЗрдкреАрдИрдЬреА рдлрд╛рдИрд▓ рдПрдиреНрдХреЛрдб рдХрд░рдгреНрдпрд╛рдЪреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЖрдард╡реВрдпрд╛ (рдмреЙрдорди рдиреЕрд╢рдирд▓ рд▓рд╛рдпрдмреНрд░рд░реАрдЪреНрдпрд╛ рд╡рд┐рдХреАрд▓рд╛ рдзрдиреНрдпрд╡рд╛рдж):

рд╕реНрдЯреЗрдЧреНрдиреЛрдЧреНрд░рд╛рдлреА рд╡рд╛рдкрд░реВрди рд╣рд╛рд░реНрдб рдбреНрд░рд╛рдЗрд╡реНрд╣ рдЬрд╛рдЧрд╛ рд╡рд╛рдЪрд╡рд╛

рддреЗ рдкрд╛рд╣рддрд╛, рддрд╛рдмрдбрддреЛрдм рдХрд╛рд╣реА рдЯрд┐рдкреНрдкрдгреНрдпрд╛ рдХрд░рдгреЗ рдЪрд╛рдВрдЧрд▓реЗ рдЖрд╣реЗ:

  • JPEG рдлрд╛рдИрд▓рдЪрд╛ рдЖрдХрд╛рд░ рдПрдЦрд╛рджреНрдпрд╛ рдкреНрд░рдХрд╛рд░рдЪреНрдпрд╛ Winrar рд╕рд╣ рд╕рдВрдХреБрдЪрд┐рдд рдХрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рди рдХрд░рддрд╛ рджреЗрдЦреАрд▓ рдЗрд╖реНрдЯрддрдо рдорд╛рдирд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ;
  • рдХрд┐рдорд╛рди рд╕реНрд╡реАрдХрд╛рд░рд╛рд░реНрд╣ рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рдкреНрд░рджрд╛рди рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХреЗрд╡рд│ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдорд╛рд╣рд┐рддреА (рдЬреЗ рдбрд┐рд╕реНрдХреНрд░рд┐рдЯ рдХреЛрд╕рд╛рдЗрди рдЯреНрд░рд╛рдиреНрд╕рдлреЙрд░реНрдо, DCT рдордзреВрди рдЖрдЙрдЯрдкреБрдЯ рдЖрд╣реЗ) рд╕реБрдзрд╛рд░рд┐рдд рдХреЗрд▓реА рдЬрд╛рдК рд╢рдХрддреЗ.
  • рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдЪреНрдпрд╛ рд▓рдХреНрд╖рд╛рдд рдпреЗрдгреНрдпрд╛рдЬреЛрдЧреНрдпрд╛ рдФрджреНрдпреЛрдЧрд┐рдХ рд╕реНрдХреЗрд▓рд╡рд░реАрд▓ рдбреЗрдЯрд╛ рдЧрдорд╛рд╡реВ рдирдпреЗ рдореНрд╣рдгреВрди, рдкреНрд░рддреНрдпреЗрдХ рд╡реИрдпрдХреНрддрд┐рдХ рдкреНрд░рддрд┐рдореЗрдордзреНрдпреЗ рдХрдореАрддрдХрдореА рдмрджрд▓ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ;

рдЕрд▓реНрдЧреЛрд░рд┐рджрдордЪреЗ рд╕рдВрдкреВрд░реНрдг рдХреБрдЯреБрдВрдм рдпрд╛ рдЕрдЯреАрдВрд╢реА рдЬреБрд│рддреЗ, рдЬреЗ рддреБрдореНрд╣реА рд╕реНрд╡рддрдГрд▓рд╛ рдкрд░рд┐рдЪрд┐рдд рдХрд░реВ рд╢рдХрддрд╛ рдпрд╛ рдЪрд╛рдВрдЧрд▓реНрдпрд╛ рд╕рд╛рджрд░реАрдХрд░рдгрд╛рдд. рддреНрдпрд╛рдкреИрдХреА рд╕рд░реНрд╡рд╛рдд рдкреНрд░рдЧрдд рдЕрд▓реНрдЧреЛрд░рд┐рджрдо рдЖрд╣реЗ F5 рдмреНрд░рд╛рдЗрдЯрдиреЗрд╕ рдШрдЯрдХрд╛рдЪреНрдпрд╛ рдбреАрд╕реАрдЯреА рдЧреБрдгрд╛рдВрдХрд╛рдВрд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рддрд╛рдирд╛ рдЕрдБрдбреНрд░рд┐рдпрд╛рд╕ рд╡реЗрд╕реНрдЯрдлреЗрд▓реНрдб (рдорд╛рдирд╡реА рдбреЛрд│рд╛ рддреНрдпрд╛рдЪреНрдпрд╛ рдмрджрд▓рд╛рдВрдмрджреНрджрд▓ рд╕рд░реНрд╡рд╛рдд рдХрдореА рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдЕрд╕рддреЛ). рд╡рд┐рджреНрдпрдорд╛рди JPEG рдлрд╛рдИрд▓рд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рддрд╛рдирд╛ рддреНрдпрд╛рдЪреЗ рд╕рд╛рдорд╛рдиреНрдп рд▓реЗрдЖрдЙрдЯ рдЦрд╛рд▓реАрд▓рдкреНрд░рдорд╛рдгреЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рддреЗ:

рд╕реНрдЯреЗрдЧреНрдиреЛрдЧреНрд░рд╛рдлреА рд╡рд╛рдкрд░реВрди рд╣рд╛рд░реНрдб рдбреНрд░рд╛рдЗрд╡реНрд╣ рдЬрд╛рдЧрд╛ рд╡рд╛рдЪрд╡рд╛

F5 рдмреНрд▓реЙрдХ рдореЕрдЯреНрд░рд┐рдХреНрд╕ рдПрдиреНрдХреЛрдбрд┐рдВрдЧрд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдкреНрд░рдЧрдд рдПрдореНрдмреЗрдбрд┐рдВрдЧ рддрдВрддреНрд░ рд╡рд╛рдкрд░рддреЗ. рд╡рд░реАрд▓ рджреБрд╡реНрдпрд╛рд╡рд░ рд╡рд╛рдЪрдХ рддреНрдпрд╛рдмрджреНрджрд▓ рдЖрдгрд┐ рдЕрд▓реНрдЧреЛрд░рд┐рджрдордмрджреНрджрд▓ рдЕрдзрд┐рдХ рдЬрд╛рдгреВрди рдШреЗрдК рд╢рдХрддрд╛рдд, рдкрд░рдВрддреБ рдЖрдореНрд╣рд╛рд▓рд╛ рдкреНрд░рд╛рдореБрдЦреНрдпрд╛рдиреЗ рдпрд╛ рд╡рд╕реНрддреБрд╕реНрдерд┐рддреАрдд рд░рд╕ рдЖрд╣реЗ рдХреА рддреНрдпрд╛рдЪреНрдпрд╛ рдорджрддреАрдиреЗ рдЖрдкрдг рд╕рдорд╛рди рдкреНрд░рдорд╛рдгрд╛рдд рдорд╛рд╣рд┐рддреА рдПрдореНрдмреЗрдб рдХрд░рддрд╛рдирд╛ рдХрдореА рдмрджрд▓ рдХрд░реВ рд╢рдХрддрд╛, рд╡рд╛рдкрд░рд▓реЗрд▓реНрдпрд╛ рдХрдВрдЯреЗрдирд░рдЪрд╛ рдЖрдХрд╛рд░ рдЬрд┐рддрдХрд╛ рдореЛрдард╛ рдЕрд╕реЗрд▓. , рдЖрдгрд┐ рдЕрд▓реНрдЧреЛрд░рд┐рджрдо рдкрд╛рд░ рдкрд╛рдбрдгреНрдпрд╛рд╕рд╛рдареА рдлрдХреНрдд рд╕рд╛рдзреЗ Huffman рдЖрдгрд┐ RLE (de)рдХреЛрдбрд┐рдВрдЧ рдСрдкрд░реЗрд╢рдиреНрд╕ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.

рдкреВрд░реНрдгрд╛рдВрдХ рдЧреБрдгрд╛рдВрдХрд╛рдВрдордзреНрдпреЗ рдмрджрд▓ рд╕реНрд╡рддрдГрдЪ рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд рдЖрдгрд┐ рддреНрдпрд╛рдВрдЪреЗ рдирд┐рд░рдкреЗрдХреНрд╖ рдореВрд▓реНрдп рдПрдХрд╛рдиреЗ рдХрдореА рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЦрд╛рд▓реА рдпреЗрддрд╛рдд, рдЬреЗ рд╕рд╛рдзрд╛рд░рдгрдкрдгреЗ, рдбреЗрдЯрд╛ рдХреЙрдореНрдкреНрд░реЗрд╢рдирд╕рд╛рдареА F5 рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ. рдореБрджреНрджрд╛ рдЕрд╕рд╛ рдЖрд╣реЗ рдХреА JPEG рдордзреАрд▓ рдореВрд▓реНрдпрд╛рдВрдЪреНрдпрд╛ рд╕рд╛рдВрдЦреНрдпрд┐рдХреАрдп рд╡рд┐рддрд░рдгрд╛рдореБрд│реЗ Huffman рдПрдиреНрдХреЛрдбрд┐рдВрдЧрдирдВрддрд░ рдирд┐рд░рдкреЗрдХреНрд╖ рдореВрд▓реНрдпрд╛рддреАрд▓ рдХрдореА рдХреЗрд▓реЗрд▓реЗ рдЧреБрдгрд╛рдВрдХ рдмрд╣реБрдзрд╛ рдХрдореА рдмрд┐рдЯреНрд╕ рд╡реНрдпрд╛рдкреЗрд▓.

рд╕реНрдЯреЗрдЧреНрдиреЛрдЧреНрд░рд╛рдлреА рд╡рд╛рдкрд░реВрди рд╣рд╛рд░реНрдб рдбреНрд░рд╛рдЗрд╡реНрд╣ рдЬрд╛рдЧрд╛ рд╡рд╛рдЪрд╡рд╛

рд╢реВрдиреНрдп (рддрдерд╛рдХрдерд┐рдд рдХрдкрд╛рдд) рдЪреНрдпрд╛ рдирд┐рд░реНрдорд┐рддреАрдЪреНрдпрд╛ рдмрд╛рдмрддреАрдд, рд╕рдВрдЧреНрд░рд╣рд┐рдд рдорд╛рд╣рд┐рддреАрдЪреА рд╕рдВрдЦреНрдпрд╛ рддреНрдпрд╛рдЪреНрдпрд╛ рдЖрдХрд╛рд░рд╛рдиреЗ рдХрдореА рдХреЗрд▓реА рдЬрд╛рдИрд▓, рдХрд╛рд░рдг рдкреВрд░реНрд╡реАрдЪрд╛ рд╕реНрд╡рддрдВрддреНрд░ рдЧреБрдгрд╛рдВрдХ рд╢реВрдиреНрдпрд╛рдЪреНрдпрд╛ RLE рдПрдиреНрдХреЛрдб рдХреЗрд▓реЗрд▓реНрдпрд╛ рдХреНрд░рдорд╛рдЪрд╛ рднрд╛рдЧ рдмрдиреЗрд▓:

рд╕реНрдЯреЗрдЧреНрдиреЛрдЧреНрд░рд╛рдлреА рд╡рд╛рдкрд░реВрди рд╣рд╛рд░реНрдб рдбреНрд░рд╛рдЗрд╡реНрд╣ рдЬрд╛рдЧрд╛ рд╡рд╛рдЪрд╡рд╛

рдмрджрд▓

рдбреЗрдЯрд╛ рд╕рдВрд░рдХреНрд╖рдг рдЖрдгрд┐ рдХреЙрдореНрдкреНрд░реЗрд╢рди рдСрд░реНрдереЛрдЧреЛрдирд▓ рд╕рдорд╕реНрдпрд╛ рдЖрд╣реЗрдд, рдореНрд╣рдгреВрди рдореВрд│ рдЕрд▓реНрдЧреЛрд░рд┐рджрдордордзреАрд▓ рдЧреБрдкреНрдд рдкрд╛рд╕рд╡рд░реНрдб рдХреНрд░рдордкрд░рд┐рд╡рд░реНрддрди рджреБрд░реНрд▓рдХреНрд╖рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ. рд╢рд┐рд╡рд╛рдп, рдбреЗрдЯрд╛ рдХрд╕рд╛ рдХрд╛рдврд╛рдпрдЪрд╛ рд╣реЗ рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдорд╛рд╣рд┐рдд рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ, рдореНрд╣рдгреВрди рддреНрдпрд╛рд╕рд╛рдареА рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рд▓реЗрд▓реА рд╕рд░реНрд╡ рдорд╛рд╣рд┐рддреА (рдХреЛрдгрддреЗ рдХрдВрдЯреЗрдирд░ рд╡рд╛рдкрд░рд▓реЗ рдЧреЗрд▓реЗ, рдХреЛрдгрддреНрдпрд╛ рдХреНрд░рдорд╛рдиреЗ рдЗ.) рд╡реЗрдЧрд│реНрдпрд╛ рдлрд╛рдИрд▓рдордзреНрдпреЗ рд░реЗрдХреЙрд░реНрдб рдХреЗрд▓реЗ рдЬрд╛рд╡реЗ рдЖрдгрд┐ рдЖрд░реНрдХрд╛рдЗрд╡реНрд╣рд░рджреНрд╡рд╛рд░реЗ рд╡рд┐рдирд╛рдореВрд▓реНрдп рд╡рд╛рдЪрдирд╛рд╕рд╛рдареА рдЦреБрд▓реЗ рдЕрд╕рд╛рд╡реЗ.

рдореВрд│ рдЕрд▓реНрдЧреЛрд░рд┐рджрдо рдЧреБрдкреНрдд рд╕рдВрджреЗрд╢ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдбрд┐рдЭрд╛рдЗрди рдХреЗрд▓реЗрд▓реЗ рдЖрд╣реЗ, рдореНрд╣рдгреВрди рддреЗ рдПрдХрд╛ рд╡реЗрд│реА рдлрдХреНрдд рдПрдХрд╛ рдХрдВрдЯреЗрдирд░рд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рддреЗ, рдЕрд╕реЗ рдЧреГрд╣реАрдд рдзрд░реВрди рдХреА рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рд╕реНрд╡рддрдГрдЪ рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рд▓реНрдпрд╛рд╕, рдЬрд░ рдХрд╛рд╣реА рдЕрд╕реЗрд▓ рддрд░ рддреНрдпрд╛рдЪреЗ рднрд╛рдЧ рдмрдирд╡реЗрд▓. рд╢рд┐рд╡рд╛рдп, рдкреНрд░рддреНрдпреЗрдХ рдХрдВрдЯреЗрдирд░рдордзреНрдпреЗ рд╕реНрд╡рддрдВрддреНрд░рдкрдгреЗ рдПрдореНрдмреЗрдб рдХреЗрд▓реНрдпрд╛рд╡рд░, рдкреНрд░рддреНрдпреЗрдХ рдХрдВрдЯреЗрдирд░рдордзреНрдпреЗ рдХрд┐рддреА рдмрд┐рдЯ рдбреЗрдЯрд╛ рдареЗрд╡рд╛рдпрдЪрд╛ рд╣реЗ рддреБрдореНрд╣рд╛рд▓рд╛ рдЖрдзреАрдЪ рдорд╛рд╣рд┐рдд рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдореНрд╣рдгреВрди, рд▓рд╛рдпрдмреНрд░рд░реАрдЪреНрдпрд╛ рдкреНрд░рддреНрдпреЗрдХ рдШрдЯрдХрд╛рдЪреЗ рдЧреБрдгрд╛рдВрдХ рдПрдХрд╛ рдЕрдореВрд░реНрдд рдореЛрдареНрдпрд╛рдордзреНрдпреЗ рдПрдХрддреНрд░ рдХреЗрд▓реЗ рдкрд╛рд╣рд┐рдЬреЗ рдЖрдгрд┐ рдореВрд│ рдЕрд▓реНрдЧреЛрд░рд┐рджрдордиреБрд╕рд╛рд░ рддреНрдпрд╛рдЪреНрдпрд╛рд╕рд╣ рдХрд╛рд░реНрдп рдХреЗрд▓реЗ рдкрд╛рд╣рд┐рдЬреЗ.

рдореВрд│ F5 рдХрдВрдЯреЗрдирд░ рдЖрдХрд╛рд░рд╛рдЪреНрдпрд╛ 12% рдкрд░реНрдпрдВрдд рдкрд░рд╡рд╛рдирдЧреА рджреЗрдд тАЛтАЛрдЕрд╕рд▓реНрдпрд╛рдиреЗ, рд╣реЗ рдмрджрд▓ рдХрдорд╛рд▓ рдХреНрд╖рдорддрд╛ рджреЗрдЦреАрд▓ рд╡рд╛рдврд╡реЗрд▓: рд╕рдВрдкреВрд░реНрдг рд▓рд╛рдпрдмреНрд░рд░реАрдЪреНрдпрд╛ рдЖрдХрд╛рд░рд╛рдЪреНрдпрд╛ "12% рдкрд░реНрдпрдВрдд" рд╣реЗ "12% рдкрд░реНрдпрдВрдд" рдЪреНрдпрд╛ рдмреЗрд░реАрдЬрдкреЗрдХреНрд╖рд╛ рдореЛрдареЗ рдХрд┐рдВрд╡рд╛ рд╕рдорд╛рди рдЖрд╣реЗ "рддреНрдпрд╛рдЪреНрдпрд╛ рдкреНрд░рддреНрдпреЗрдХ рдШрдЯрдХрд╛рддреВрди.

рд╕рдВрд╣рд┐рддрд╛рдмрджреНрдз рд╕рд░реНрд╡рд╕рд╛рдзрд╛рд░рдг рдпреЛрдЬрдирд╛ рдЦрд╛рд▓реАрд▓рдкреНрд░рдорд╛рдгреЗ рдЖрд╣реЗ:

рд╕реНрдЯреЗрдЧреНрдиреЛрдЧреНрд░рд╛рдлреА рд╡рд╛рдкрд░реВрди рд╣рд╛рд░реНрдб рдбреНрд░рд╛рдЗрд╡реНрд╣ рдЬрд╛рдЧрд╛ рд╡рд╛рдЪрд╡рд╛

рдЕрд▓реНрдЧреЛрд░рд┐рджрдо рд╕реНрд╡рддрдГ

рдЖрддрд╛ рд╕реБрд░реБрд╡рд╛рддреАрдкрд╛рд╕реВрди рд╢реЗрд╡рдЯрдкрд░реНрдпрдВрдд рдЕрд▓реНрдЧреЛрд░рд┐рджрдордЪреЗ рд╡рд░реНрдгрди рдХрд░рдгреНрдпрд╛рдЪреА рд╡реЗрд│ рдЖрд▓реА рдЖрд╣реЗ, рдЬреЗрдгреЗрдХрд░реВрди рд╡рд╛рдЪрдХрд╛рдВрдирд╛ рдЕрдВрдзрд╛рд░рд╛рдд рдареЗрд╡реВ рдирдпреЗ:

  • рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдмрд╛рдпрдирд░реА рдХреЙрдореНрдкреНрд░реЗрд╕ рдХрд░рдгреНрдпрд╛рдпреЛрдЧреНрдп рдбреЗрдЯрд╛ M рдЖрдгрд┐ рд▓рд╛рдпрдмреНрд░рд░реА L рдЪреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рд░реЗрдЧреНрдпреБрд▓рд░ рдПрдХреНрд╕рдкреНрд░реЗрд╢рди рдЖрдгрд┐ рд╕рд░реНрдЪ рд░реВрдЯ рдбрд┐рд░реЗрдХреНрдЯрд░реА рд╡рд╛рдкрд░реВрди рдХрд░рддреЛ;
  • рдЬреНрдпрд╛ рдХреНрд░рдорд╛рдиреЗ рддреЗ FS рд╡рд░ рджрд┐рд╕рддрд╛рдд, рд▓рд╛рдпрдмреНрд░рд░реА рдШрдЯрдХ MC рдмрдирд╡рддрд╛рдд:
    • рдЧреБрдгрд╛рдВрдХ рд╕реАрдЪреА рдорд╛рд▓рд┐рдХрд╛ рдлрд╛рдЗрд▓ рдбреЗрдЯрд╛рдордзреВрди рдбреАрдХреЛрдб рдХреЗрд▓реА рдЬрд╛рддреЗ;
    • MC <- MC | рдХ;
  • рдкреЕрд░рд╛рдореАрдЯрд░ k рд╣реЗ рднрдпрдВрдХрд░ рдЕрд╕рдорд╛рдирддреЗрдЪреНрдпрд╛ рдЖрдзрд╛рд░реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рддреЗ: |M| * 8 / (count_full(MC) + count_ones(MC) * k_rate(k)) < k / ((1 << k) - 1);
  • рдкреБрдвреЗ рдШреЗрддрд▓реЗ n = (1 << k) - 1 MC рдХрдбреВрди рд╢реВрдиреНрдп рдирд╕рд▓реЗрд▓реНрдпрд╛ рдШрдЯрдХрд╛рдВрдЪреЗ рдХрд┐рдорд╛рди рд▓рдХреНрд╖рдгреАрдп рдмрд┐рдЯреНрд╕ рдЖрдгрд┐ рддреНрдпрд╛рд╡рд░ рд▓рд┐рд╣рд┐рд▓реЗрд▓реЗ a:
    • рдореЕрдЬрд┐рдХ рд╣реЕрд╢ рдлрдВрдХреНрд╢рди рдорд╛рдирд▓реЗ рдЬрд╛рддреЗ f, рдПрди-рдмрд┐рдЯ рд╢рдмреНрдж рджрд░реНрд╢рд╡рд┐рдд рдЖрд╣реЗ a k-bit рд▓рд╛ s;
    • рддрд░ s == 0, рдирдВрддрд░ рдХрд╛рд╣реАрд╣реА рдмрджрд▓рдгреНрдпрд╛рдЪреА рдЧрд░рдЬ рдирд╛рд╣реА рдЖрдгрд┐ рдЕрд▓реНрдЧреЛрд░рд┐рджрдо рдкреБрдвреАрд▓ рдЧреБрдгрд╛рдВрдХрд╛рдВрд╡рд░ рдкреБрдвреЗ рдЬрд╛рдИрд▓;
    • рдпрд╛рд╕рд╛рдареА рдЬрдмрд╛рдмрджрд╛рд░ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдЧреБрдгрд╛рдВрдХрд╛рдЪреЗ рдкрд░рд┐рдкреВрд░реНрдг рдореВрд▓реНрдп рдХрдореА рдХрд░рд╛ s-рдЕрд╣реЛ рд╢рдмреНрджрд╛рдд рдереЛрдбрд╛ a;
    • рдЬрд░ рдХрдкрд╛рддреАрдЪреНрдпрд╛ рдкрд░рд┐рдгрд╛рдореА рдХрдкрд╛рдд рдЭрд╛рд▓реА (рдЧреБрдгрдХ 0 рд╣реЛрддреЗ), рддрд░ рд╕реБрд░реБрд╡рд╛рддреАрдкрд╛рд╕реВрди рдЪрд░рдг рдкреБрдиреНрд╣рд╛ рдХрд░рд╛;
  • рд╕рд░реНрд╡ рдЧреБрдгрд╛рдВрдХ RLE рдЖрдгрд┐ Huffman рджреНрд╡рд╛рд░реЗ рдПрдиреНрдХреЛрдб рдХреЗрд▓реЗрд▓реЗ рдЖрд╣реЗрдд, рд╕реНрддреНрд░реЛрдд рдлрд╛рдпрд▓реАрдВрд╡рд░ рд▓рд┐рд╣рд┐рд▓реЗрд▓реЗ рдЖрд╣реЗрдд;
  • рдкреЕрд░рд╛рдореАрдЯрд░ k рд╣реЗ рд╕рдВрдЧреНрд░рд╣рдг рдлрд╛рдЗрд▓рд╡рд░ рд▓рд┐рд╣рд┐рд▓реЗрд▓реЗ рдЖрд╣реЗ;
  • MD5 рд╣реЕрд╢рдЪреА рдЧрдгрдирд╛ рдкреНрд░рддреНрдпреЗрдХ рдлрд╛рдИрд▓ L рдордзреВрди рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдореВрд│ рд╕реНрдерд╛рдирд╛рдЪреНрдпрд╛ рдХреНрд░рдорд╛рдиреЗ рдХреЗрд▓реА рдЬрд╛рддреЗ рдЖрдгрд┐ рд╕рдВрдЧреНрд░рд╣рдг рдлрд╛рдЗрд▓рд╡рд░ рд▓рд┐рд╣рд┐рд▓реА рдЬрд╛рддреЗ.

рд╣рд╛рдп рдЯреЗрдХ

рдЕрд▓реНрдЧреЛрд░рд┐рджрдордЪреЗ рд╕рд╛рдзреЗ рд╕реНрд╡рд░реВрдк рдЖрдгрд┐ рдЗрддрд░ рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп (рд╡рд┐рд╢реЗрд╖рдд: рдХрдЪрд░рд╛ рд╕рдВрдХрд▓рдирд╛рд╕рд╣) рднрд╛рд╖рд╛рдВрдордзреАрд▓ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рднрдпрдВрдХрд░ рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рджреЗрдИрд▓, рдореНрд╣рдгреВрди рдореА рдпрд╛ рд╕рд░реНрд╡ рдЬрдЯрд┐рд▓рддрд╛ рд╢реБрджреНрдз C рдордзреНрдпреЗ рд▓рд╛рдЧреВ рдХреЗрд▓реНрдпрд╛ рдЖрдгрд┐ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдЧрддреА рдЖрдгрд┐ рджреЛрдиреНрд╣реА рдмрд╛рдмрддреАрдд рдЕрдиреЗрдХ рдСрдкреНрдЯрд┐рдорд╛рдпрдЭреЗрд╢рди рдХреЗрд▓реЗ. рдореЗрдорд░реА (рдбреАрд╕реАрдЯреАрдЪреНрдпрд╛ рдЖрдзреАрд╣реА рдХреЙрдореНрдкреНрд░реЗрд╢рдирд╢рд┐рд╡рд╛рдп рдпрд╛ рдЪрд┐рддреНрд░рд╛рдВрдЪреЗ рд╡рдЬрди рдХрд┐рддреА рдЖрд╣реЗ рдпрд╛рдЪреА рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдХрд▓реНрдкрдирд╛ рдирд╛рд╣реА). рдкрд░рдВрддреБ рддрд░реАрд╣реА, рдкреНрд░рдердо рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдЪреНрдпрд╛ рдЧрддреАрдиреЗ рдЗрдЪреНрдЫрд┐рдд рд╣реЛрдгреНрдпрд╛рд╕рд╛рд░рдЦреЗ рдмрд░реЗрдЪ рдХрд╛рд╣реА рд╕реЛрдбрд▓реЗ, рдореНрд╣рдгреВрди рдореА рд╕рдВрдкреВрд░реНрдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЖрдгрд┐ рд╡рд╛рдкрд░рд▓реЗрд▓реНрдпрд╛ рдкрджреНрдзрддреАрдВрдЪреЗ рд╡рд░реНрдгрди рдХрд░рдгрд╛рд░ рдирд╛рд╣реА.

рдХреНрд░реЙрд╕-рдкреНрд▓реЕрдЯрдлреЙрд░реНрдо libjpeg, pcre рдЖрдгрд┐ tinydir рд▓рд╛рдпрдмреНрд░рд░реАрдЪреНрдпрд╛ рд╕рдВрдпреЛрдЬрдирд╛рдиреЗ рд╕рд╛рдзреНрдп рдХреЗрд▓реЗ рдЬрд╛рддреЗ, рдЬреНрдпрд╛рд╕рд╛рдареА рдЖрдореНрд╣реА рддреНрдпрд╛рдВрдЪреЗ рдЖрднрд╛рд░ рдорд╛рдирддреЛ. рдбреАрдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░, рд╕рд░реНрд╡рдХрд╛рд╣реА рд╕рд╛рдорд╛рдиреНрдп рджреНрд╡рд╛рд░реЗ рд╕рдВрдХрд▓рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рддреЗ make, рдореНрд╣рдгреВрди Windows рд╡рд╛рдкрд░рдХрд░реНрддреЗ рд╕реНрд╡рддрдГрд╕рд╛рдареА рдХрд╛рд╣реА Cygwin рд╕реНрдерд╛рдкрд┐рдд рдХрд░реВ рдЗрдЪреНрдЫрд┐рддрд╛рдд рдХрд┐рдВрд╡рд╛ рд╡реНрд╣рд┐рдЬреНрдпреБрдЕрд▓ рд╕реНрдЯреБрдбрд┐рдУ рдЖрдгрд┐ рд▓рд╛рдпрдмреНрд░рд░реАрд╢реА рд╕реНрд╡рддрдГрд╣реВрди рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░реВ рдЗрдЪреНрдЫрд┐рддрд╛рдд.

рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдХрдиреНрд╕реЛрд▓ рдпреБрдЯрд┐рд▓рд┐рдЯреА рдЖрдгрд┐ рд▓рд╛рдпрдмреНрд░рд░реАрдЪреНрдпрд╛ рд╕реНрд╡рд░реВрдкрд╛рдд рдЙрдкрд▓рдмреНрдз рдЖрд╣реЗ. рдЬреНрдпрд╛рдВрдирд╛ рд╕реНрд╡рд╛рд░рд╕реНрдп рдЖрд╣реЗ рддреЗ Github рд╡рд░реАрд▓ рд░реЗрдкреЙрдЬрд┐рдЯрд░реАрдордзреНрдпреЗ рд░реАрдбрдореАрдордзреНрдпреЗ рдирдВрддрд░рдЪреЗ рд╡рд╛рдкрд░рдгреНрдпрд╛рдмрджреНрджрд▓ рдЕрдзрд┐рдХ рдЬрд╛рдгреВрди рдШреЗрдК рд╢рдХрддрд╛рдд, рдЬреНрдпрд╛рдЪреА рд▓рд┐рдВрдХ рдореА рдкреЛрд╕реНрдЯрдЪреНрдпрд╛ рд╢реЗрд╡рдЯреА рдЬреЛрдбреЗрди. рдЖрдгрд┐ рдпреЗрдереЗ рдЖрдореНрд╣реА рдХрд╛рдорд╛рдЪреЗ рд╡рд░реНрдгрди рдЖрдгрд┐ рдкреНрд░рд╛рддреНрдпрдХреНрд╖рд┐рдХ рд╡рд░ рдЬрд╛рдК.

рдХрд╕реЗ рд╡рд╛рдкрд░рд╛рд╡реЗ?

рдХрд╛рд│рдЬреАрдкреВрд░реНрд╡рдХ. рд╡рд╛рдкрд░рд▓реЗрд▓реНрдпрд╛ рдкреНрд░рддрд┐рдорд╛ рдЗрдЪреНрдЫреЗрдиреБрд╕рд╛рд░ рд╣рд▓рд╡рд▓реНрдпрд╛ рдЬрд╛рдК рд╢рдХрддрд╛рдд, рдкреБрдирд░реНрдирд╛рдорд┐рдд рдХреЗрд▓реНрдпрд╛ рдЬрд╛рдК рд╢рдХрддрд╛рдд рдЖрдгрд┐ рдХреЙрдкреА рдХреЗрд▓реНрдпрд╛ рдЬрд╛рдК рд╢рдХрддрд╛рдд. рддрдерд╛рдкрд┐, рдЖрдкрдг рдЕрддреНрдпрдВрдд рд╕рд╛рд╡рдзрдЧрд┐рд░реА рдмрд╛рд│рдЧрд▓реА рдкрд╛рд╣рд┐рдЬреЗ рдЖрдгрд┐ рддреНрдпрд╛рдВрдЪреА рд╕рд╛рдордЧреНрд░реА рдХреЛрдгрддреНрдпрд╛рд╣реА рдкреНрд░рдХрд╛рд░реЗ рдмрджрд▓реВ рдирдпреЗ. рдереЛрдбрд╛рд╕рд╛ рдмрджрд▓ рдХреЗрд▓реНрдпрд╛рдиреЗ рд╣реЕрд╢рдордзреНрдпреЗ рд╡реНрдпрддреНрдпрдп рдпреЗрдИрд▓ рдЖрдгрд┐ рдорд╛рд╣рд┐рддреА рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░рдгреЗ рдЕрд╢рдХреНрдп рд╣реЛрдИрд▓.

рд╕рдордЬрд╛ рд╕рдВрдХрд▓рд┐рдд рдХреЗрд▓реНрдпрд╛рдирдВрддрд░ рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдПрдХреНрдЭрд┐рдХреНрдпреБрдЯреЗрдмрд▓ рдлрд╛рдЗрд▓ f5ar рдорд┐рд│реЗрд▓. рдзреНрд╡рдЬ рд╡рд╛рдкрд░реВрди рддреНрдпрд╛рдЪреНрдпрд╛ рд╡рд╛рдкрд░рд╛рдЪреНрдпрд╛ рд╢рдХреНрдпрддрд╛рдВрдЪреА рдЧрдгрдирд╛ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рддреБрдореНрд╣реА рд▓рд╛рдпрдмреНрд░рд░реАрдЪреНрдпрд╛ рдЖрдХрд╛рд░рд╛рдЪреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реВ рд╢рдХрддрд╛ -a: ./f5ar -a [╨┐╨░╨┐╨║╨░ ╨┐╨╛╨╕╤Б╨║╨░] [Perl-╤Б╨╛╨▓╨╝╨╡╤Б╤В╨╕╨╝╨╛╨╡ ╤А╨╡╨│╤Г╨╗╤П╤А╨╜╨╛╨╡ ╨▓╤Л╤А╨░╨╢╨╡╨╜╨╕╨╡]. рд╕рдВрдШрд╛рдХрдбреВрди рдкреЕрдХреЗрдЬрд┐рдВрдЧ рдХреЗрд▓реЗ рдЬрд╛рддреЗ ./f5ar -p [╨┐╨░╨┐╨║╨░ ╨┐╨╛╨╕╤Б╨║╨░] [Perl-╤Б╨╛╨▓╨╝╨╡╤Б╤В╨╕╨╝╨╛╨╡ ╤А╨╡╨│╤Г╨╗╤П╤А╨╜╨╛╨╡ ╨▓╤Л╤А╨░╨╢╨╡╨╜╨╕╨╡] [╤Г╨┐╨░╨║╨╛╨▓╤Л╨▓╨░╨╡╨╝╤Л╨╣ ╤Д╨░╨╣╨╗] [╨╕╨╝╤П ╨░╤А╤Е╨╕╨▓╨░], рдЖрдгрд┐ рд╡рд╛рдкрд░реВрди рдЕрдирдкреЕрдХ рдХрд░рдгреЗ ./f5ar -u [╤Д╨░╨╣╨╗ ╨░╤А╤Е╨╕╨▓╨░] [╨╕╨╝╤П ╨▓╨╛╤Б╤Б╤В╨░╨╜╨╛╨▓╨╗╨╡╨╜╨╜╨╛╨│╨╛ ╤Д╨░╨╣╨╗╨░].

рдХрд╛рдорд╛рдЪреЗ рдкреНрд░рд╛рддреНрдпрдХреНрд╖рд┐рдХ

рдкрджреНрдзрддреАрдЪреА рдкреНрд░рднрд╛рд╡реАрддрд╛ рджрд░реНрд╢рд╡рд┐рдгреНрдпрд╛рд╕рд╛рдареА, рдореА рд╕реЗрд╡реЗрддреВрди рдХреБрддреНрд░реНрдпрд╛рдВрдЪреНрдпрд╛ 225 рдкреВрд░реНрдгрдкрдгреЗ рд╡рд┐рдирд╛рдореВрд▓реНрдп рдлреЛрдЯреЛрдВрдЪрд╛ рд╕рдВрдЧреНрд░рд╣ рдЕрдкрд▓реЛрдб рдХреЗрд▓рд╛ рдЖрд╣реЗ. Unsplash. рддреНрдпрд╛рдВрдЪреНрдпрд╛рдкреИрдХреА рдкреНрд░рддреНрдпреЗрдХрд╛рдордзреНрдпреЗ рд╕рд╛рдорд╛рдиреНрдп рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдЪреНрдпрд╛ рдлреЛрдЯреЛрдВрдкреЗрдХреНрд╖рд╛ рдХрд┐рдВрдЪрд┐рдд рдЙрдЪреНрдЪ рдЧреБрдгрд╡рддреНрддрд╛ рдЖрд╣реЗ, рдкрд░рдВрддреБ рддрд░реАрд╣реА. рдПрдХреВрдг рдЖрдХрд╛рд░рд╛рд╡рд░ рд▓рд╛рдпрдмреНрд░рд░реАрдЪреНрдпрд╛ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпрд╛рдВрдЪрд╛ рдкреНрд░рднрд╛рд╡ рддрдЯрд╕реНрде рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА libjpeg рд╡рд╛рдкрд░реВрди рддреНрдпрд╛рддреАрд▓ рдкреНрд░рддреНрдпреЗрдХрд╛рд▓рд╛ рдкреБрдиреНрд╣рд╛ рдПрдиреНрдХреЛрдб рдХрд░рдгреНрдпрд╛рдд рдЖрд▓реЗ. рд╕рдВрдХреБрдЪрд┐рдд рдХрд░рдгреНрдпрд╛рдпреЛрдЧреНрдп рдбреЗрдЯрд╛рдЪреЗ рд╕рд░реНрд╡рд╛рдд рд╡рд╛рдИрдЯ рдЙрджрд╛рд╣рд░рдг рджрд░реНрд╢рд╡рд┐рдгреНрдпрд╛рд╕рд╛рдареА, dd рд╡рд╛рдкрд░реВрди рдпрд╛рджреГрдЪреНрдЫрд┐рдХ 36-рдореАрдЯрд░ (рдПрдХреВрдг рдЖрдХрд╛рд░рд╛рдЪреНрдпрд╛ 5% рдкреЗрдХреНрд╖рд╛ рдХрд┐рдВрдЪрд┐рдд рдЬрд╛рд╕реНрдд) рдПрдХрд╕рдорд╛рди рд╡рд┐рддрд░рд┐рдд рдлрд╛рдЗрд▓ рд╡реНрдпреБрддреНрдкрдиреНрди рдХреЗрд▓реА рдЧреЗрд▓реА.

рдЪрд╛рдЪрдгреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЕрдЧрджреА рд╕реЛрдкреА рдЖрд╣реЗ:

$ ls
binary_data dogs f5ar
$ du -sh dogs/
633M dogs/
$ du -h binary_data
36M binary_data

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

$ ./f5ar -u dogs/dogs.f5ar unpacked
Initializing the archive... ok
Reading the archive file... ok
Filling the archive with files... done in 1.2s
Decompressing... done in 17.5s
Writing extracted data... ok

$ sha1sum binary_data unpacked
ba7ade4bc77881ab463121e77bbd4d41ee181ae9 binary_data
ba7ade4bc77881ab463121e77bbd4d41ee181ae9 unpacked
$ du -sh dogs/
563M dogs/

рдХрд┐рдВрд╡рд╛ рдЪрд╛рд╣рддреНрдпрд╛рдВрд╕рд╛рдареА рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ

рд╕реНрдЯреЗрдЧреНрдиреЛрдЧреНрд░рд╛рдлреА рд╡рд╛рдкрд░реВрди рд╣рд╛рд░реНрдб рдбреНрд░рд╛рдЗрд╡реНрд╣ рдЬрд╛рдЧрд╛ рд╡рд╛рдЪрд╡рд╛

рддреБрдореНрд╣реА рдмрдШреВ рд╢рдХрддрд╛, рд╣рд╛рд░реНрдб рдбреНрд░рд╛рдЗрд╡реНрд╣рд╡рд░реАрд▓ рдореВрд│ 633 + 36 == 669 рдореЗрдЧрд╛рдмрд╛рдЗрдЯреНрд╕ рдбреЗрдЯрд╛рд╡рд░реВрди, рдЖрдореНрд╣реА ~563 рдЪреЗ рдХреЙрдореНрдкреНрд░реЗрд╢рди рд░реЗрд╢реЛ рджреЗрдКрди, рдЕрдзрд┐рдХ рдЫрд╛рди 1,188 рд╕рд╣ рд╕рдорд╛рдкреНрдд рдХреЗрд▓реЗ. рд╣рд╛ рдореВрд▓рдЧрд╛рдореА рдлрд░рдХ рд╢рд╛рд╕реНрддреНрд░реАрдп рдкрджреНрдзрддреА (рдЬрд╕реЗ рдХреА tinyjpg) рд╡рд╛рдкрд░реВрди рдЬреЗрдкреАрдИрдЬреА рдлрд╛рдЗрд▓реНрд╕ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЭ рдХрд░рддрд╛рдирд╛ рдкреНрд░рд╛рдкреНрдд рдЭрд╛рд▓реЗрд▓реНрдпрд╛ рдЕрддреНрдпрдВрдд рд▓рд╣рд╛рди рдиреБрдХрд╕рд╛рдирд╛рдВрджреНрд╡рд╛рд░реЗ рд╕реНрдкрд╖реНрдЯ рдХреЗрд▓рд╛ рдЬрд╛рддреЛ. рд╕рд╛рд╣рдЬрд┐рдХрдЪ, рд╕реНрдЯреЗрдЧреЕрдиреЛрдЧреНрд░рд╛рдлрд┐рдХ рдХреЙрдореНрдкреНрд░реЗрд╢рди рд╡рд╛рдкрд░рддрд╛рдирд╛, рдорд╛рд╣рд┐рддреА рдлрдХреНрдд "рд╣рд░рд╡рд▓реЗрд▓реА" рдирд╕рддреЗ, рдкрд░рдВрддреБ рдЗрддрд░ рдбреЗрдЯрд╛ рдПрдиреНрдХреЛрдб рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд╛рдкрд░рд▓реА рдЬрд╛рддреЗ. рд╢рд┐рд╡рд╛рдп, F5 рдЪреНрдпрд╛ рд╡рд╛рдкрд░рд╛рдореБрд│реЗ "рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬреНрдб" рдЧреБрдгрд╛рдВрдХрд╛рдВрдЪреА рд╕рдВрдЦреНрдпрд╛ рдкрд╛рд░рдВрдкрд╛рд░рд┐рдХ рдСрдкреНрдЯрд┐рдорд╛рдпрдЭреЗрд╢рдирдЪреНрдпрд╛ рддреБрд▓рдиреЗрдд рдЦреВрдкрдЪ рдХрдореА рдЖрд╣реЗ.

рддреНрдпрд╛рдд рдЬреЗ рдХрд╛рд╣реА рдмрджрд▓ рдЖрд╣реЗрдд, рддреЗ рдбреЛрд│реНрдпрд╛рдВрдирд╛ рдкреВрд░реНрдгрдкрдгреЗ рдЕрджреГрд╢реНрдп рдЖрд╣реЗрдд. рдЦрд╛рд▓реАрд▓ рд╕реНрдкреЙрдпрд▓рд░ рдЕрдВрддрд░реНрдЧрдд, рд╡рд╛рдЪрдХ рдбреЛрд│реНрдпрд╛рджреНрд╡рд╛рд░реЗ рдЖрдгрд┐ рдмрджрд▓рд▓реЗрд▓реНрдпрд╛ рдШрдЯрдХрд╛рдЪреА рдореВрд│ рдореВрд▓реНрдпреЗ рд╡рдЬрд╛ рдХрд░реВрди рдлрд░рдХрд╛рдЪреЗ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░реВ рд╢рдХрддреЛ (рд░рдВрдЧ рдЬрд┐рддрдХрд╛ рдирд┐рдГрд╢рдмреНрдж рдЕрд╕реЗрд▓ рддрд┐рддрдХрд╛ рдлрд░рдХ рдХрдореА рдЕрд╕реЗрд▓):

рд╣реЕрдмреНрд░рд╛рд╕реНрдЯреЛрд░реЗрдЬрд╡рд░ рдмрд╕рдд рдирд╕рд▓реЗрд▓реНрдпрд╛ рдкреНрд░рддрд┐рдорд╛рдВрдЪреЗ рджреБрд╡реЗ

рдореВрд│ - https://i.ibb.co/wNDLNcZ/1.jpg
рд╕реБрдзрд╛рд░рд┐рдд - https://i.ibb.co/qWvpfFM/1.jpg
рдлрд░рдХ - https://i.ibb.co/2ZzhHfD/diff.jpg

рддреНрдпрд╛рдРрд╡рдЬреА рдПрдХ рдирд┐рд╖реНрдХрд░реНрд╖

рдорд▓рд╛ рдЖрд╢рд╛ рдЖрд╣реЗ рдХреА рдореА рд╡рд╛рдЪрдХрд╛рдВрдирд╛ рд╣реЗ рдкрдЯрд╡реВрди рджреЗрдК рд╢рдХрд▓реЛ рдХреА рдЕрд╢рд╛ рдкрджреНрдзрддреА рд╢рдХреНрдп рдЖрд╣реЗрдд рдЖрдгрд┐ рддреНрдпрд╛рдВрдирд╛ рдЬрдЧрдгреНрдпрд╛рдЪрд╛ рдЕрдзрд┐рдХрд╛рд░ рдЖрд╣реЗ. рддрдерд╛рдкрд┐, рд╣рд╛рд░реНрдб рдбреНрд░рд╛рдЗрд╡реНрд╣ рдХрд┐рдВрд╡рд╛ рдЕрддрд┐рд░рд┐рдХреНрдд рдЪреЕрдиреЗрд▓ (рдиреЗрдЯрд╡рд░реНрдХ рдЯреНрд░рд╛рдиреНрд╕рдорд┐рд╢рдирд╕рд╛рдареА) рдЦрд░реЗрджреА рдХрд░рдгреЗ рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ рдкреИрд╕реЗ рд╡рд╛рдЪрд╡рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░рдгреНрдпрд╛рдкреЗрдХреНрд╖рд╛ рдЦреВрдк рд╕реЛрдкрд╛ рдкрд░реНрдпрд╛рдп рд╡рд╛рдЯреВ рд╢рдХрддреЛ. рдПрдХреАрдХрдбреЗ, рд╣реЗ рдЦрд░реЗ рдЖрд╣реЗ; рд╡реНрдпрд╛рдкрдХ рд╡рд┐рдХрд╛рд╕ рдЕрдиреЗрдХрджрд╛ рд╕реЛрдкрд╛ рдЖрдгрд┐ рдЕрдзрд┐рдХ рд╡рд┐рд╢реНрд╡рд╛рд╕рд╛рд░реНрд╣ рдЕрд╕рддреЛ. рдкрдг рджреБрд╕рд░реАрдХрдбреЗ, рдЖрдкрдг рддреАрд╡реНрд░рддреЗрдмрджреНрджрд▓ рд╡рд┐рд╕рд░реВ рдирдпреЗ. рд╢реЗрд╡рдЯреА, рдЙрджреНрдпрд╛ рддреБрдореНрд╣реА рд╕реНрдЯреЛрдЕрд░рдордзреНрдпреЗ рдпреЗрдКрди рд╕реНрд╡рдд:рд▓рд╛ рдЖрдгрдЦреА рдПрдХ рд╣рдЬрд╛рд░ рдЯреЗрд░рд╛рдмрд╛рдЗрдЯ рд╣рд╛рд░реНрдб рдбреНрд░рд╛рдЗрд╡реНрд╣ рд╡рд┐рдХрдд рдШреЗрдК рд╢рдХрд╛рд▓ рдпрд╛рдЪреА рдХреЛрдгрддреАрд╣реА рд╣рдореА рдирд╛рд╣реА, рдкрд░рдВрддреБ рддреБрдореНрд╣реА рдиреЗрд╣рдореА рдШрд░реА рдкрдбреВрди рдЕрд╕рд▓реЗрд▓реА рдбреНрд░рд╛рдЗрд╡реНрд╣ рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛.

-> GitHub

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛