LSB рд╕реНрдЯреЗрдЧреНрдиреЛрдЧреНрд░рд╛рдлреА

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

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

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

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

рд╣рд╛рдореНрд░реЛ рдЕрд╡рд╕реНрдерд╛рдорд╛, рдХрдиреНрдЯреЗрдирд░ BMP рдврд╛рдБрдЪрд╛рдорд╛ рдЫрд╡рд┐ рд╣реБрдиреЗрдЫред рдкрд╣рд┐рд▓реЗ, рдпреЛ рдлрд╛рдЗрд▓рдХреЛ рд╕рдВрд░рдЪрдирд╛ рд╣реЗрд░реМрдВред рдлрд╛рдЗрд▓рд▓рд╛рдИ 4 рднрд╛рдЧрд╣рд░реВрдорд╛ рд╡рд┐рднрд╛рдЬрди рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ: рдлрд╛рдЗрд▓ рд╣реЗрдбрд░, рдЫрд╡рд┐ рд╣реЗрдбрд░, рдкреНрдпрд╛рд▓реЗрдЯ рд░ рдЫрд╡рд┐ рдЖрдлреИред рд╣рд╛рдореНрд░реЛ рдЙрджреНрджреЗрд╢реНрдпрдХреЛ рд▓рд╛рдЧрд┐, рд╣рд╛рдореАрд▓реЗ рд╣реЗрдбрд░рдорд╛ рдХреЗ рд▓реЗрдЦрд┐рдПрдХреЛ рдЫ рднрдиреЗрд░ рдорд╛рддреНрд░ рдЬрд╛рдиреНрди рдЖрд╡рд╢реНрдпрдХ рдЫред

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

рдЕрдм рд╣рд╛рдореА рдЬрд╛рдиреНрджрдЫреМрдВ рдХрд┐ рдХрд╕рд░реА рдЫрд╡рд┐рдорд╛ рдкреБрдЧреНрдиреЗ, рд╕рдмреИ рдмрд╛рдБрдХреА рдЫ рдХрд┐ рд╣рд╛рдореА рддреНрдпрд╣рд╛рдБ рдЖрд╡рд╢реНрдпрдХ рдЬрд╛рдирдХрд╛рд░реА рдХрд╕рд░реА рд▓реЗрдЦреНрди рд╕рдХреНрдЫреМрдВ рднрдиреЗрд░ рдмреБрдЭреНрдиред рдпрд╕рдХрд╛ рд▓рд╛рдЧрд┐ рд╣рд╛рдореАрд▓рд╛рдИ LSB рд╡рд┐рдзрд┐ рдЪрд╛рд╣рд┐рдиреНрдЫред рд╡рд┐рдзрд┐рдХреЛ рд╕рд╛рд░ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдЫ: рд╣рд╛рдореА рд░рдЩ рдПрдиреНрдХреЛрдбрд┐рдЩрдХреЛ рд▓рд╛рдЧрд┐ рдЬрд┐рдореНрдореЗрд╡рд╛рд░ рдмрд╛рдЗрдЯрд╣рд░реВрдорд╛ рдХрдореНрддрд┐рдорд╛ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдмрд┐рдЯрд╣рд░реВ рдмрджрд▓реНрдЫреМрдВред рдорд╛рдиреМрдВ рдпрджрд┐ рд╣рд╛рдореНрд░реЛ рдЧреЛрдкреНрдп рд╕рдиреНрджреЗрд╢рдХреЛ рдЕрд░реНрдХреЛ рдмрд╛рдЗрдЯ 11001011 рд╣реЛ, рд░ рдЫрд╡рд┐рдорд╛ рд░рд╣реЗрдХрд╛ рдмрд╛рдЗрдЯрд╣рд░реВ...11101100 01001110 01111100 0101100111... рд╣реЛ, рддрдм рдЗрдиреНрдХреЛрдбрд┐рдЩ рдпрд╕реНрддреЛ рджреЗрдЦрд┐рдиреНрдЫред рд╣рд╛рдореА рдЧреЛрдкреНрдп рд╕рдиреНрджреЗрд╢ рдмрд╛рдЗрдЯрд▓рд╛рдИ 4 рджреБрдИ-рдмрд┐рдЯ рднрд╛рдЧрд╣рд░реВрдорд╛ рд╡рд┐рднрд╛рдЬрди рдЧрд░реНрдиреЗрдЫреМрдВ: 11, 00, 10, 11, рд░ рдЫрд╡рд┐рдХреЛ рдХрдо-рдЕрд░реНрдбрд░ рдмрд┐рдЯреНрд╕рд▓рд╛рдИ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдЯреБрдХреНрд░рд╛рд╣рд░реВрд╕рдБрдЧ рдмрджрд▓реНрдиреЗрдЫреМрдВ: ...11101111 01001100 0111111режрезрежрезрезрежрежрезрезрез... рдпрд╕реНрддреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛ рдорд╛рдирд╡ рдЖрдБрдЦрд╛ рдХреЛ рд▓рд╛рдЧреА рдзреНрдпрд╛рди рджрд┐рджреИрдиред рдпрд╕рдмрд╛рд╣реЗрдХ, рдзреЗрд░реИ рдкреБрд░рд╛рдирд╛ рдЖрдЙрдЯрдкреБрдЯ рдпрдиреНрддреНрд░рд╣рд░реВрд▓реЗ рдкрдирд┐ рддреНрдпрд╕реНрддрд╛ рд╕рд╛рдирд╛ рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рдкреНрд░рджрд░реНрд╢рди рдЧрд░реНрди рд╕рдХреНрд╖рдо рд╣реБрдиреЗрдЫреИрдирдиреНред

рдпреЛ рд╕реНрдкрд╖реНрдЯ рдЫ рдХрд┐ рддрдкрд╛рдИрд▓реЗ 2 рдХрдо рд╕реЗ рдХрдо рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдмрд┐рдЯ рдорд╛рддреНрд░ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рддрд░ рддреА рдордзреНрдпреЗ рдХреБрдиреИ рдкрдирд┐ рд╕рдВрдЦреНрдпрд╛ред рддреНрдпрд╣рд╛рдБ рдирд┐рдореНрди рдврд╛рдБрдЪрд╛ рдЫ: рд╣рд╛рдореАрд▓реЗ рдЬрддрд┐ рдзреЗрд░реИ рдмрд┐рдЯрд╣рд░реВ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрдЫреМрдВ, рд╣рд╛рдореА рдЬрддрд┐ рдзреЗрд░реИ рдЬрд╛рдирдХрд╛рд░реА рд▓реБрдХрд╛рдЙрди рд╕рдХреНрдЫреМрдВ, рд░ рдпрд╕рд▓реЗ рдореВрд▓ рдЫрд╡рд┐рдорд╛ рдердк рд╣рд╕реНрддрдХреНрд╖реЗрдк рдЧрд░реНрдиреЗрдЫред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдпрд╣рд╛рдБ рджреБрдИ рддрд╕реНрдмрд┐рд░рд╣рд░реВ рдЫрдиреН:

LSB рд╕реНрдЯреЗрдЧреНрдиреЛрдЧреНрд░рд╛рдлреА
LSB рд╕реНрдЯреЗрдЧреНрдиреЛрдЧреНрд░рд╛рдлреА

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

рд╣рд╛рдореА рдорд╛рдиреНрджрдЫреМрдВ рдХрд┐ рд╣рд╛рдореА рдХрдиреНрдЯреЗрдирд░рдорд╛ рд╕реНрдЯреНрд░рд┐рдЩрдорд╛ рднрдгреНрдбрд╛рд░ рдЧрд░рд┐рдПрдХреЛ рдкрд╛рда рд▓реЗрдЦрд┐рд░рд╣реЗрдХрд╛ рдЫреМрдВ рд░ рддрд▓реНрд▓реЛ рджреБрдИ рдмрд╛рдЗрдЯрд╣рд░реВ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдЧрд░реНрджреИрдЫреМрдВ:
рд░реЗрдХрд░реНрдбрд┐рдЩ рдХреЛрдб:

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди