рдПрд▓рдПрд╕рдмреА рд╕реНрдЯреЗрдЧреНрдиреЛрдЧреНрд░рд╛рдлреА

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

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

рд╕рд░реНрд╡ рдкреНрд░рдердо, рдПрдХ рд▓рд╣рд╛рди рдкрд░рд┐рдЪрдп рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдкреНрд░рддреНрдпреЗрдХрд╛рд▓рд╛ рдорд╛рд╣рд┐рдд рдЖрд╣реЗ рдХреА рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлреАрдЪрд╛ рдЙрджреНрджреЗрд╢ рдЧреБрдкреНрдд рдорд╛рд╣рд┐рддреА рд╡рд╛рдЪрдгреЗ рдЕрд╢рдХреНрдп рдХрд░рдгреЗ рдЖрд╣реЗ. рдЕрд░реНрдерд╛рдд, рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлреАрдордзреНрдпреЗ рддреНрдпрд╛рдЪреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЖрд╣реЗрдд, рдкрд░рдВрддреБ рдбреЗрдЯрд╛ рд╕рдВрд░рдХреНрд╖рдгрд╛рд╕рд╛рдареА рдЖрдгрдЦреА рдПрдХ рджреГрд╖реНрдЯреАрдХреЛрди рдЖрд╣реЗ. рдЖрдореНрд╣рд╛рд▓рд╛ рдорд╛рд╣рд┐рддреА рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд░рдгреНрдпрд╛рдЪреА рдЧрд░рдЬ рдирд╛рд╣реА, рдкрд░рдВрддреБ рдЖрдордЪреНрдпрд╛рдХрдбреЗ рддреА рдирд╛рд╣реА рдЕрд╕реЗ рдвреЛрдВрдЧ рдХрд░рд╛. рддреНрдпрд╛рдореБрд│реЗрдЪ рд╕реНрдЯреЗрдЧреНрдиреЛрдЧреНрд░рд╛рдлреАрдЪрд╛ рд╢реЛрдз рд▓рд╛рдЧрд▓рд╛. рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рдЖрдореНрд╣рд╛рд▓рд╛ рдЦрд╛рддреНрд░реА рджреЗрддреЛ рдХреА "рд╕реНрдЯреЗрдЧреЕрдиреЛрдЧреНрд░рд╛рдлреА (рдЧреНрд░реАрдХ ╧Г╧Д╬╡╬│╬▒╬╜╬┐╧Г - hidden рдЖрдгрд┐ рдЧреНрд░реАрдХ ╬│╧Б╬▒╧Ж╧Й - рдореА рд▓рд┐рд╣рд┐рддреЛ, рд╢рдмреНрджрд╢рдГ "рдЧреБрдкреНрдд рд▓реЗрдЦрди") рд╣реЗ рдкреНрд░реЗрд╖рдгрд╛рдЪреА рд╡рд╕реНрддреБрд╕реНрдерд┐рддреА рдЧреБрдкреНрдд рдареЗрд╡реВрди рдорд╛рд╣рд┐рддреАрдЪреНрдпрд╛ рдЫреБрдкреНрдпрд╛ рдкреНрд░рд╕рд╛рд░рдгрд╛рдЪреЗ рд╢рд╛рд╕реНрддреНрд░ рдЖрд╣реЗ.

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

рдЖрдордЪреНрдпрд╛ рдмрд╛рдмрддреАрдд, рдХрдВрдЯреЗрдирд░ рдмреАрдПрдордкреА рд╕реНрд╡рд░реВрдкрд╛рдд рдПрдХ рдкреНрд░рддрд┐рдорд╛ рдЕрд╕реЗрд▓. рдкреНрд░рдердо, рдпрд╛ рдлрд╛рдИрд▓рдЪреА рд░рдЪрдирд╛ рдкрд╛рд╣реВ. рдлрд╛рдЗрд▓ 4 рднрд╛рдЧрд╛рдВрдордзреНрдпреЗ рд╡рд┐рднрд╛рдЧрд▓реА рдЬрд╛рдК рд╢рдХрддреЗ: рдлрд╛рдЗрд▓ рд╢реАрд░реНрд╖рд▓реЗрдЦ, рдкреНрд░рддрд┐рдорд╛ рд╢реАрд░реНрд╖рд▓реЗрдЦ, рдкреЕрд▓реЗрдЯ рдЖрдгрд┐ рдкреНрд░рддрд┐рдорд╛ рд╕реНрд╡рддрдГ. рдЖрдордЪреНрдпрд╛ рд╣реЗрддреВрдВрд╕рд╛рдареА, рдЖрдореНрд╣рд╛рд▓рд╛ рдлрдХреНрдд рд╣реЗрдбрд░рдордзреНрдпреЗ рдХрд╛рдп рд▓рд┐рд╣рд┐рд▓реЗ рдЖрд╣реЗ рд╣реЗ рдорд╛рд╣рд┐рдд рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.

рд╣реЗрдбрд░рдЪреЗ рдкрд╣рд┐рд▓реЗ рджреЛрди рдмрд╛рдЗрдЯреНрд╕ рд╣реЗ BM рд╕реНрд╡рд╛рдХреНрд╖рд░реА рдЖрд╣реЗрдд, рдирдВрддрд░ рдмрд╛рдЗрдЯреНрд╕рдордзреАрд▓ рдлрд╛рдЗрд▓ рдЖрдХрд╛рд░ рджреБрд╣реЗрд░реА рд╢рдмреНрджрд╛рдд рд▓рд┐рд╣рд┐рд▓рд╛ рдЬрд╛рддреЛ, рдкреБрдвреАрд▓ 4 рдмрд╛рдЗрдЯреНрд╕ рд░рд╛рдЦреАрд╡ рдЕрд╕рддрд╛рдд рдЖрдгрд┐ рддреНрдпрд╛рдд рд╢реВрдиреНрдп рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рддреЗ рдЖрдгрд┐ рд╢реЗрд╡рдЯреА, рджреБрд╕рд░реНрдпрд╛ рджреБрд╣реЗрд░реА рд╢рдмреНрджрд╛рдд рд╕реБрд░рд╡рд╛рддреАрдкрд╛рд╕реВрди рдСрдлрд╕реЗрдЯ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЕрд╕рддреЛ. рдкреНрд░рддрд┐рдореЗрдЪреНрдпрд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдмрд╛рдЗрдЯреНрд╕рд╡рд░ рдлрд╛рдЗрд▓ рдХрд░рд╛. 24-рдмрд┐рдЯ bmp рдлрд╛рдЗрд▓рдордзреНрдпреЗ, рдкреНрд░рддреНрдпреЗрдХ рдкрд┐рдХреНрд╕реЗрд▓ рддреАрди BGR рдмрд╛рдЗрдЯреНрд╕рд╕рд╣ рдПрдиреНрдХреЛрдб рдХреЗрд▓реЗрд▓рд╛ рдЕрд╕рддреЛ.

рдЖрддрд╛ рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдкреНрд░рддрд┐рдореЗрд╡рд░ рдХрд╕реЗ рдЬрд╛рдпрдЪреЗ рд╣реЗ рдорд╛рд╣рд┐рдд рдЖрд╣реЗ, рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рд▓реЗрд▓реА рдорд╛рд╣рд┐рддреА рдЖрдкрдг рддреЗрдереЗ рдХрд╢реА рд▓рд┐рд╣реВ рд╢рдХрддреЛ рд╣реЗ рд╕рдордЬреВрди рдШреЗрдгреЗ рдмрд╛рдХреА рдЖрд╣реЗ. рдпрд╛рд╕рд╛рдареА рдЖрдкрд▓реНрдпрд╛рд▓рд╛ LSB рдкрджреНрдзрддреАрдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрд╕реЗрд▓. рдкрджреНрдзрддреАрдЪреЗ рд╕рд╛рд░ рдЦрд╛рд▓реАрд▓рдкреНрд░рдорд╛рдгреЗ рдЖрд╣реЗ: рдЖрдореНрд╣реА рд░рдВрдЧ рдПрдиреНрдХреЛрдбрд┐рдВрдЧрд╕рд╛рдареА рдЬрдмрд╛рдмрджрд╛рд░ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдмрд╛рдЗрдЯреНрд╕рдордзреАрд▓ рдХрдореАрддрдХрдореА рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдмрд┐рдЯреНрд╕ рдкреБрдирд░реНрд╕реНрдерд┐рдд рдХрд░рддреЛ. рд╕рдордЬрд╛ рдЬрд░ рдЖрдордЪреНрдпрд╛ рдЧреБрдкреНрдд рд╕рдВрджреЗрд╢рд╛рдЪрд╛ рдкреБрдвреАрд▓ рдмрд╛рдЗрдЯ 11001011 рдЕрд╕реЗрд▓ рдЖрдгрд┐ рдЗрдореЗрдЬрдордзреАрд▓ рдмрд╛рдЗрдЯреНрд╕...11101100 01001110 01111100 0101100111... рдЕрд╕рддреАрд▓ рддрд░ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдЕрд╕реЗ рджрд┐рд╕реЗрд▓. рдЖрдореНрд╣реА рдЧреБрдкреНрдд рд╕рдВрджреЗрд╢ рдмрд╛рдЗрдЯрд▓рд╛ 4 рджреНрд╡рд┐-рдмрд┐рдЯ рднрд╛рдЧрд╛рдВрдордзреНрдпреЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░реВ: 11, 00, 10, 11, рдЖрдгрд┐ рдкрд░рд┐рдгрд╛рдореА рддреБрдХрдбреНрдпрд╛рдВрд╕рд╣ рдкреНрд░рддрд┐рдореЗрдЪреЗ рд▓реЛ-рдСрд░реНрдбрд░ рдмрд┐рдЯ рдмрджрд▓реВ: ...11101111 01001100 01111110 0101100111тАж. рдЕрд╢реА рдмрджрд▓реА рд╕рд╛рдорд╛рдиреНрдпрддрдГ рдорд╛рдирд╡реА рдбреЛрд│реНрдпрд╛рдВрдирд╛ рд▓рдХреНрд╖рд╛рдд рдпреЗрдд рдирд╛рд╣реА. рд╢рд┐рд╡рд╛рдп, рдЕрдиреЗрдХ рдЬреБрдиреА рдЖрдЙрдЯрдкреБрдЯ рдЙрдкрдХрд░рдгреЗ рдЕрд╕реЗ рдХрд┐рд░рдХреЛрд│ рдмрджрд▓ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдгреНрдпрд╛рд╕ рд╕рдХреНрд╖рдо рдирд╕рддреАрд▓.

рд╣реЗ рд╕реНрдкрд╖реНрдЯ рдЖрд╣реЗ рдХреА рдЖрдкрдг рдХреЗрд╡рд│ 2 рдХрдореАрдд рдХрдореА рд▓рдХреНрд╖рдгреАрдп рдмрд┐рдЯреНрд╕рдЪ рдмрджрд▓реВ рд╢рдХрдд рдирд╛рд╣реА рддрд░ рддреНрдпрд╛рдкреИрдХреА рдХрд┐рддреАрд╣реА рдмрджрд▓реВ рд╢рдХрддрд╛. рдЦрд╛рд▓реАрд▓ рдкреЕрдЯрд░реНрди рдЖрд╣реЗ: рдЖрдкрдг рдЬрд┐рддрдХреЗ рдЕрдзрд┐рдХ рдмрд┐рдЯ рдмрджрд▓реВ, рддрд┐рддрдХреА рдЕрдзрд┐рдХ рдорд╛рд╣рд┐рддреА рдЖрдкрдг рд▓рдкрд╡реВ рд╢рдХрддреЛ рдЖрдгрд┐ рдпрд╛рдореБрд│реЗ рдореВрд│ рдкреНрд░рддрд┐рдореЗрдд рдЕрдзрд┐рдХ рд╣рд╕реНрддрдХреНрд╖реЗрдк рд╣реЛрдИрд▓. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдпреЗрдереЗ рджреЛрди рдкреНрд░рддрд┐рдорд╛ рдЖрд╣реЗрдд:

рдПрд▓рдПрд╕рдмреА рд╕реНрдЯреЗрдЧреНрдиреЛрдЧреНрд░рд╛рдлреА
рдПрд▓рдПрд╕рдмреА рд╕реНрдЯреЗрдЧреНрдиреЛрдЧреНрд░рд╛рдлреА

рдорд╛рдЭреНрдпрд╛ рд╕рд░реНрд╡реЛрддреНрддрдо рдкреНрд░рдпрддреНрдирд╛рдВрдирдВрддрд░рд╣реА, рдорд▓рд╛ рддреНрдпрд╛рдВрдЪреНрдпрд╛рддреАрд▓ рдлрд░рдХ рджрд┐рд╕рдд рдирд╡реНрд╣рддрд╛, рдкрд░рдВрддреБ рддрд░реАрд╣реА, рд╡рд░реНрдгрди рдХреЗрд▓реЗрд▓реНрдпрд╛ рдкрджреНрдзрддреАрдЪрд╛ рд╡рд╛рдкрд░ рдХрд░реВрди, рджреБрд╕рд▒реНрдпрд╛ рдкреНрд░рддрд┐рдореЗрдд, рд▓реБрдИрд╕ рдХреЕрд░реЛрд▓рдЪреА "рдж рд╣рдВрдЯрд┐рдВрдЧ рдСрдл рдж рд╕реНрдирд╛рд░реНрдХ" рд╣реА рдХрд╡рд┐рддрд╛ рд▓рдкрд▓реЗрд▓реА рдЖрд╣реЗ. рдЬрд░ рддреБрдореНрд╣реА рдЖрддрд╛рдкрд░реНрдпрдВрдд рд╣реЗ рд╡рд╛рдЪрд▓реЗ рдЕрд╕реЗрд▓, рддрд░ рддреБрдореНрд╣рд╛рд▓рд╛ рдХрджрд╛рдЪрд┐рдд рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдмрджреНрджрд▓ рдЬрд╛рдгреВрди рдШреЗрдгреНрдпрд╛рдд рд░рд╕ рдЕрд╕реЗрд▓. рд╣реЗ рдЕрдЧрджреА рд╕реЛрдкреЗ рдЖрд╣реЗ, рдкрд░рдВрддреБ рдореА рддреБрдореНрд╣рд╛рд▓рд╛ рддрд╛рдмрдбрддреЛрдм рдЪреЗрддрд╛рд╡рдгреА рджреЗрдИрди рдХреА рд╕рд░реНрд╡ рдХрд╛рд╣реА рдбреЗрд▓реНрдлреАрдордзреНрдпреЗ рдЭрд╛рд▓реЗ рдЖрд╣реЗ. рдпрд╛рдЪреА рджреЛрди рдХрд╛рд░рдгреЗ рдЖрд╣реЗрдд: 1. рдорд╛рдЭреНрдпрд╛ рдорддреЗ рдбреЗрд▓реНрдлреА рд╣реА рдПрдХ рдЪрд╛рдВрдЧрд▓реА рднрд╛рд╖рд╛ рдЖрд╣реЗ; 2. рд╣рд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╕рдВрдЧрдгрдХрд╛рдЪреНрдпрд╛ рджреГрд╖реНрдЯреАрдЪреНрдпрд╛ рдореВрд▓рднреВрдд рдЧреЛрд╖реНрдЯреАрдВрд╡рд░ рдЕрднреНрдпрд╛рд╕рдХреНрд░рдо рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпреЗрдд рдЬрдиреНрдорд╛рд▓рд╛ рдЖрд▓рд╛ рдЖрдгрд┐ рдЬреНрдпрд╛ рдореБрд▓рд╛рдВрдирд╛ рдореА рд╣рд╛ рдЕрднреНрдпрд╛рд╕рдХреНрд░рдо рд╢рд┐рдХрд╡рдд рдЖрд╣реЗ рддреНрдпрд╛рдВрдирд╛ рдЕрджреНрдпрд╛рдк рдбреЗрд▓реНрдлреАрд╢рд┐рд╡рд╛рдп рджреБрд╕рд░реЗ рдХрд╛рд╣реАрд╣реА рдорд╛рд╣рд┐рдд рдирд╛рд╣реА. рдЬреНрдпрд╛рдВрдирд╛ рд╡рд╛рдХреНрдпрд░рдЪрдирд╛ рдорд╛рд╣реАрдд рдирд╛рд╣реА рддреНрдпрд╛рдВрдЪреНрдпрд╛рд╕рд╛рдареА, рдПрдХ рдЧреЛрд╖реНрдЯ рд╕реНрдкрд╖реНрдЯ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ: shl x рд╣реЗ x рджреНрд╡рд╛рд░реЗ рдбрд╛рд╡реАрдХрдбреЗ bitwise рд╢рд┐рдлреНрдЯ рдЖрд╣реЗ, shr x рд╣реЗ x рджреНрд╡рд╛рд░реЗ рдЙрдЬрд╡реАрдХрдбреЗ bitwise рд╢рд┐рдлреНрдЯ рдЖрд╣реЗ.

рдЖрдореНрд╣реА рдЕрд╕реЗ рдЧреГрд╣реАрдд рдзрд░рддреЛ рдХреА рдЖрдореНрд╣реА рдХрдВрдЯреЗрдирд░рдордзреНрдпреЗ рд╕реНрдЯреНрд░рд┐рдВрдЧрдордзреНрдпреЗ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдордЬрдХреВрд░ рд▓рд┐рд╣рд┐рдд рдЖрд╣реЛрдд рдЖрдгрд┐ рдЦрд╛рд▓реАрд▓ рджреЛрди рдмрд╛рдЗрдЯреНрд╕ рдмрджрд▓рдд рдЖрд╣реЛрдд:
рд░реЗрдХреЙрд░реНрдбрд┐рдВрдЧ рдХреЛрдб:

i:=1 рддреЗ рд▓рд╛рдВрдмреА(str) рд╕рд╛рдареА рдХрд░рд╛
    рд╕реБрд░реВ
      l1:=byte(str[i]) shr 6;
      l2:=byte(str[i]) shl 2; l2:=l2 shr 6;
      l3:=byte(str[i]) shl 4; l3:=l3 shr 6;
      l4:=byte(str[i]) shl 6; l4:=l4 shr 6;
 
      f.ReadBuffer(tmp,1);
      f.Position:=f.Position-1;
      tmp:=((tmp shr 2) shl 2)+l1;
      f.WriteBuffer(tmp,1);
 
      f.ReadBuffer(tmp,1);
      f.Position:=f.Position-1;
      tmp:=((tmp shr 2) shl 2)+l2;
      f.WriteBuffer(tmp,1);
 
      f.ReadBuffer(tmp,1);
      f.Position:=f.Position-1;
      tmp:=((tmp shr 2) shl 2)+l3;
      f.WriteBuffer(tmp,1);
 
      f.ReadBuffer(tmp,1);
      f.Position:=f.Position-1;
      tmp:=((tmp shr 2) shl 2)+l4;
      f.WriteBuffer(tmp,1);
 
    рд╢реЗрд╡рдЯ

рд╡рд╛рдЪрдгреНрдпрд╛рд╕рд╛рдареА рдХреЛрдб:

i:=1 рддреЗ MsgSize рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА
    рд╕реБрд░реВ
      f.ReadBuffer(tmp,1);
      l1:=tmp shl 6;
      f.ReadBuffer(tmp,1);
      l2:=tmp shl 6; l2:=l2 shr 2;
      f.ReadBuffer(tmp,1);
      l3:=tmp shl 6; l3:=l3 shr 4;
      f.ReadBuffer(tmp,1);
      l4:=tmp shl 6; l4:=l4 shr 6;
      str:=str+char(l1+l2+l3+l4);
    рд╢реЗрд╡рдЯ

рдмрд░рдВ, рдЦрд░реЛрдЦрд░ рдЖрд│рд╢реА рд▓реЛрдХрд╛рдВрд╕рд╛рдареА - рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЖрдгрд┐ рддреНрдпрд╛рдЪреНрдпрд╛ рд╕реНрддреНрд░реЛрдд рдХреЛрдбрд╢реА рджреБрд╡рд╛.

╨б╨┐╨░╤Б╨╕╨▒╨╛.

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

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