ΠΠ΅Π΄Π½ΡΠΆ Π½Π°ΠΏΠΈΡΠ°Ρ
ΠΌΠΎΡΡΠ°
ΠΠ½Π΅Ρ ΡΠ΅ ΡΠ΅ ΠΎΠΏΠΈΡΠ°ΠΌΠ΅ Π΄Π° ΠΊΠΎΠΏΠ°Π΅ΠΌ ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎ-Π΄ΡΠ»Π±ΠΎΠΊΠΎ ΠΈ Π΄Π° ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ LSB Π°Π»Π³ΠΎΡΠΈΡΡΠΌΠ°. ΠΡΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅Ρ Π·Π°ΠΏΠΎΠ²ΡΠ΄Π°ΠΉΡΠ΅ ΠΏΠΎΠ΄ ΠΊΠ°Ρ. (ΠΠΎ-ΠΌΠ°Π»ΠΊΠΎ Π΅ ΡΡΠ°ΡΠΈΠΊΡΡ: ΠΎΠΊΠΎΠ»ΠΎ ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ.)
ΠΡΠ΅Π΄ΠΈ Π²ΡΠΈΡΠΊΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈ ΠΊΡΠ°ΡΠΊΠΎ Π²ΡΠ²Π΅Π΄Π΅Π½ΠΈΠ΅. ΠΡΠ΅ΠΊΠΈ Π·Π½Π°Π΅, ΡΠ΅ ΡΠ΅Π»ΡΠ° Π½Π° ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΡΠ° Π΅ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈ Π½Π΅Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅ΡΠ΅Π½Π΅ΡΠΎ Π½Π° ΡΠ΅ΠΊΡΠ΅ΡΠ½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ. Π Π°Π·Π±ΠΈΡΠ° ΡΠ΅, ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΡΠ° ΠΈΠΌΠ° ΡΠ²ΠΎΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π½ΠΎ ΠΈΠΌΠ° ΠΈ Π΄ΡΡΠ³ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ Π·Π° Π·Π°ΡΠΈΡΠ° Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅. ΠΠ΅ Π΅ Π½ΡΠΆΠ½ΠΎ Π΄Π° ΡΠΈΡΡΠΎΠ²Π°ΠΌΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΡΠ°, Π½ΠΎ ΡΠ΅ ΠΏΡΠ΅ΡΡΡΡΠ²Π°ΠΌΠ΅, ΡΠ΅ Ρ Π½ΡΠΌΠ°ΠΌΠ΅. Π’ΠΎΡΠ½ΠΎ Π·Π°ΡΠΎΠ²Π° Π΅ ΠΈΠ·ΠΎΠ±ΡΠ΅ΡΠ΅Π½Π° ΡΡΠ΅Π³Π°Π½ΠΎΠ³ΡΠ°ΡΠΈΡΡΠ°. Π£ΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΡ Π½ΠΈ ΡΠ²Π΅ΡΡΠ²Π°, ΡΠ΅ βΡΡΠ΅Π³Π°Π½ΠΎΠ³ΡΠ°ΡΠΈΡΡΠ° (ΠΎΡ Π³ΡΡΡΠΊΠΈ ΟΟΞ΅Ξ³Ξ±Ξ½ΞΏΟ β ΡΠΊΡΠΈΡ ΠΈ Π³ΡΡΡΠΊΠΈ Ξ³ΟΞ±ΟΟ β ΠΏΠΈΡΠ°, Π±ΡΠΊΠ²Π°Π»Π½ΠΎ βΡΠ°ΠΉΠ½ΠΎ ΠΏΠΈΡΠ°Π½Π΅β) Π΅ Π½Π°ΡΠΊΠ° Π·Π° ΡΠΊΡΠΈΡΠΎΡΠΎ ΠΏΡΠ΅Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΡΡΠ΅Π· Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅ Π½Π° ΡΠ°ΠΌΠΈΡ ΡΠ°ΠΊΡ Π½Π° ΠΏΡΠ΅Π΄Π°Π²Π°Π½Π΅ Π² ΡΠ°ΠΉΠ½Π°.
Π Π°Π·Π±ΠΈΡΠ° ΡΠ΅, Π½ΠΈΠΊΠΎΠΉ Π½Π΅ Π·Π°Π±ΡΠ°Π½ΡΠ²Π° ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΡΠΊΠΈ ΠΈ ΡΡΠ΅Π³Π°Π½ΠΎΠ³ΡΠ°ΡΡΠΊΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈ. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° ΡΠ΅ ΠΏΡΠ°Π²ΡΡ ΡΠΎΠ²Π°, Π½ΠΎ Π½Π°ΡΠ°ΡΠ° Π·Π°Π΄Π°ΡΠ° Π΅ Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ ΠΎΡΠ½ΠΎΠ²ΠΈΡΠ΅. ΠΠΊΠΎ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»Π½ΠΎ ΠΏΡΠΎΡΡΠΈΡΠ΅ ΡΡΠ°ΡΠΈΡΡΠ° Π² Π£ΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΡ, ΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅ΡΠ΅, ΡΠ΅ ΡΡΠ΅Π³Π°Π½ΠΎΠ³ΡΠ°ΡΡΠΊΠΈΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ Π²ΠΊΠ»ΡΡΠ²Π°Ρ Ρ.Π½Π°Ρ. ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΠΈ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅. ΠΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Π΅ Π²ΡΡΠΊΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΠΊΠΎΡΡΠΎ ΠΏΠΎΠΌΠ°Π³Π° Π΄Π° ΡΠ΅ ΡΠΊΡΠΈΠ΅ Π½Π°ΡΠ΅ΡΠΎ ΡΠ°ΠΉΠ½ΠΎ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅.
Π Π½Π°ΡΠΈΡ ΡΠ»ΡΡΠ°ΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡΡ ΡΠ΅ Π±ΡΠ΄Π΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π² BMP ΡΠΎΡΠΌΠ°Ρ. ΠΡΡΠ²ΠΎ, Π½Π΅ΠΊΠ° Π΄Π° ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Π½Π° ΡΠΎΠ·ΠΈ ΡΠ°ΠΉΠ». Π€Π°ΠΉΠ»ΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ Π½Π° 4 ΡΠ°ΡΡΠΈ: Π·Π°Π³Π»Π°Π²ΠΊΠ° Π½Π° ΡΠ°ΠΉΠ»Π°, Π·Π°Π³Π»Π°Π²ΠΊΠ° Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ, ΠΏΠ°Π»Π΅ΡΠ° ΠΈ ΡΠ°ΠΌΠΎΡΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅. ΠΠ° Π½Π°ΡΠΈΡΠ΅ ΡΠ΅Π»ΠΈ ΡΡΡΠ±Π²Π° Π΄Π° Π·Π½Π°Π΅ΠΌ ΡΠ°ΠΌΠΎ ΠΊΠ°ΠΊΠ²ΠΎ Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ Π² Π·Π°Π³Π»Π°Π²ΠΊΠ°ΡΠ°.
ΠΡΡΠ²ΠΈΡΠ΅ Π΄Π²Π° Π±Π°ΠΉΡΠ° ΠΎΡ Π·Π°Π³Π»Π°Π²ΠΊΠ°ΡΠ° ΡΠ° ΡΠΈΠ³Π½Π°ΡΡΡΠ°ΡΠ° Π½Π° BM, ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° ΡΠ°Π·ΠΌΠ΅ΡΡΡ Π½Π° ΡΠ°ΠΉΠ»Π° Π² Π±Π°ΠΉΡΠΎΠ²Π΅ ΡΠ΅ Π·Π°ΠΏΠΈΡΠ²Π° Π² Π΄Π²ΠΎΠΉΠ½Π° Π΄ΡΠΌΠ°, ΡΠ»Π΅Π΄Π²Π°ΡΠΈΡΠ΅ 4 Π±Π°ΠΉΡΠ° ΡΠ° Π·Π°ΠΏΠ°Π·Π΅Π½ΠΈ ΠΈ ΡΡΡΠ±Π²Π° Π΄Π° ΡΡΠ΄ΡΡΠΆΠ°Ρ Π½ΡΠ»ΠΈ ΠΈ Π½Π°ΠΊΡΠ°Ρ Π΄ΡΡΠ³Π° Π΄Π²ΠΎΠΉΠ½Π° Π΄ΡΠΌΠ° ΡΡΠ΄ΡΡΠΆΠ° ΠΎΡΠΌΠ΅ΡΡΠ²Π°Π½Π΅ΡΠΎ ΠΎΡ Π½Π°ΡΠ°Π»ΠΎΡΠΎ Π½Π° ΡΠ°ΠΉΠ» ΠΊΡΠΌ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»Π½ΠΈΡΠ΅ Π±Π°ΠΉΡΠΎΠ²Π΅ Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ. Π 24-Π±ΠΈΡΠΎΠ² bmp ΡΠ°ΠΉΠ» Π²ΡΠ΅ΠΊΠΈ ΠΏΠΈΠΊΡΠ΅Π» Π΅ ΠΊΠΎΠ΄ΠΈΡΠ°Π½ Ρ ΡΡΠΈ BGR Π±Π°ΠΉΡΠ°.
Π‘Π΅Π³Π° Π·Π½Π°Π΅ΠΌ ΠΊΠ°ΠΊ Π΄Π° ΡΡΠΈΠ³Π½Π΅ΠΌ Π΄ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ, ΠΎΡΡΠ°Π²Π° ΡΠ°ΠΌΠΎ Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π½Π°ΠΏΠΈΡΠ΅ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ°ΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΡΠ°ΠΌ. ΠΠ° ΡΠ΅Π»ΡΠ° ΡΠ΅ Π½ΠΈ ΡΡΡΠ±Π²Π° ΠΌΠ΅ΡΠΎΠ΄ΡΡ LSB. Π‘ΡΡΠ½ΠΎΡΡΡΠ° Π½Π° ΠΌΠ΅ΡΠΎΠ΄Π° Π΅ ΡΠ»Π΅Π΄Π½Π°ΡΠ°: Π·Π°ΠΌΠ΅ΡΡΠ²Π°ΠΌΠ΅ Π½Π°ΠΉ-ΠΌΠ°Π»ΠΊΠΎ Π·Π½Π°ΡΠΈΠΌΠΈΡΠ΅ Π±ΠΈΡΠΎΠ²Π΅ Π² Π±Π°ΠΉΡΠΎΠ²Π΅ΡΠ΅, ΠΎΡΠ³ΠΎΠ²ΠΎΡΠ½ΠΈ Π·Π° ΡΠ²Π΅ΡΠ½ΠΎΡΠΎ ΠΊΠΎΠ΄ΠΈΡΠ°Π½Π΅. ΠΠ° ΠΊΠ°ΠΆΠ΅ΠΌ, ΡΠ΅ ΡΠ»Π΅Π΄Π²Π°ΡΠΈΡΡ Π±Π°ΠΉΡ ΠΎΡ Π½Π°ΡΠ΅ΡΠΎ ΡΠ°ΠΉΠ½ΠΎ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π΅ 11001011, Π° Π±Π°ΠΉΡΠΎΠ²Π΅ΡΠ΅ Π² ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΡΠ°...11101100 01001110 01111100 0101100111..., ΡΠΎΠ³Π°Π²Π° ΠΊΠΎΠ΄ΠΈΡΠ°Π½Π΅ΡΠΎ ΡΠ΅ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΡΠ°ΠΊΠ°. Π©Π΅ ΡΠ°Π·Π΄Π΅Π»ΠΈΠΌ Π±Π°ΠΉΡΠ° Π½Π° ΡΠ°ΠΉΠ½ΠΎΡΠΎ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π½Π° 4 Π΄Π²ΡΠ±ΠΈΡΠΎΠ²ΠΈ ΡΠ°ΡΡΠΈ: 11, 00, 10, 11 ΠΈ ΡΠ΅ Π·Π°ΠΌΠ΅Π½ΠΈΠΌ Π±ΠΈΡΠΎΠ²Π΅ΡΠ΅ ΠΎΡ Π½ΠΈΡΡΠΊ ΡΠ΅Π΄ Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡΠ΅ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠΈ: ...11101111 01001100 01111110 0101100111β¦. Π’Π°ΠΊΠ°Π²Π° ΠΏΠΎΠ΄ΠΌΡΠ½Π° ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ Π½Π΅ ΡΠ΅ Π·Π°Π±Π΅Π»ΡΠ·Π²Π° ΠΎΡ ΡΠΎΠ²Π΅ΡΠΊΠΎΡΠΎ ΠΎΠΊΠΎ. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-ΡΡΠ°ΡΠΈ ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π΄ΠΎΡΠΈ Π½ΡΠΌΠ° Π΄Π° ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΏΠΎΠΊΠ°ΠΆΠ°Ρ ΡΠ°ΠΊΠΈΠ²Π° Π½Π΅Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ.
Π―ΡΠ½ΠΎ Π΅, ΡΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π½Π΅ ΡΠ°ΠΌΠΎ 2-ΡΠ° Π½Π°ΠΉ-ΠΌΠ°Π»ΠΊΠΎ Π·Π½Π°ΡΠΈΠΌΠΈ Π±ΠΈΡΠ°, Π½ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π΅Π½ Π±ΡΠΎΠΉ ΠΎΡ ΡΡΡ . Π‘ΡΡΠ΅ΡΡΠ²ΡΠ²Π° ΡΠ»Π΅Π΄Π½ΠΈΡΡ ΠΌΠΎΠ΄Π΅Π»: ΠΊΠΎΠ»ΠΊΠΎΡΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ Π±ΠΈΡΠΎΠ²Π΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΠΌ, ΡΠΎΠ»ΠΊΠΎΠ²Π° ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΡΠΊΡΠΈΠ΅ΠΌ ΠΈ ΡΠΎΠ»ΠΊΠΎΠ²Π° ΠΏΠΎΠ²Π΅ΡΠ΅ ΡΠΌΡΡΠ΅Π½ΠΈΡ ΡΠ΅ ΠΏΡΠ΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ° ΡΠΎΠ²Π° Π² ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΎΡΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅. ΠΡΠΎ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π΄Π²Π΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ:
ΠΡΠΏΡΠ΅ΠΊΠΈ Π²ΡΠΈΡΠΊΠΈΡΠ΅ ΠΌΠΈ ΡΡΠΈΠ»ΠΈΡ Π½Π΅ ΠΌΠΎΠΆΠ°Ρ
Π΄Π° Π²ΠΈΠ΄Ρ ΡΠ°Π·Π»ΠΈΠΊΠ°ΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΡ
, Π½ΠΎ Π²ΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π° Π²ΡΠ² Π²ΡΠΎΡΠΎΡΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄, Π΅ ΡΠΊΡΠΈΡΠΎ ΡΡΠΈΡ
ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΡΠΈΡ ΠΠ°ΡΠΎΠ» βΠΠΎΠ²ΡΡ Π½Π° Π‘Π½Π°ΡΠΊβ. ΠΠΊΠΎ ΡΡΠ΅ ΠΏΡΠΎΡΠ΅Π»ΠΈ Π΄ΠΎΡΡΠΊ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ ΡΠ΅ Π²ΠΈ Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ Π΄Π° Π½Π°ΡΡΠΈΡΠ΅ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ. ΠΠ½ΠΎΠ³ΠΎ Π΅ ΠΏΡΠΎΡΡΠΎ, Π½ΠΎ Π²Π΅Π΄Π½Π°Π³Π° ΡΠ΅ Π²ΠΈ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅Π΄Ρ, ΡΠ΅ Π²ΡΠΈΡΠΊΠΎ ΡΠ΅ ΠΏΡΠ°Π²ΠΈ Π² Delphi. ΠΠΌΠ° Π΄Π²Π΅ ΠΏΡΠΈΡΠΈΠ½ΠΈ Π·Π° ΡΠΎΠ²Π°: 1. ΠΠΈΡΠ»Ρ, ΡΠ΅ Delphi Π΅ Π΄ΠΎΠ±ΡΡ Π΅Π·ΠΈΠΊ; 2. Π’Π°Π·ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° ΡΠ΅ ΡΠΎΠ΄ΠΈ Π² ΠΏΡΠΎΡΠ΅ΡΠ° Π½Π° ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° Π½Π° ΠΊΡΡΡ ΠΏΠΎ ΠΎΡΠ½ΠΎΠ²ΠΈ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΡΠ½ΠΎΡΠΎ Π·ΡΠ΅Π½ΠΈΠ΅ ΠΈ ΠΌΠΎΠΌΡΠ΅ΡΠ°ΡΠ°, Π½Π° ΠΊΠΎΠΈΡΠΎ ΠΏΡΠ΅ΠΏΠΎΠ΄Π°Π²Π°ΠΌ ΡΠΎΠ·ΠΈ ΠΊΡΡΡ, Π²ΡΠ΅ ΠΎΡΠ΅ Π½Π΅ Π·Π½Π°ΡΡ Π½ΠΈΡΠΎ Π΄ΡΡΠ³ΠΎ ΠΎΡΠ²Π΅Π½ Delphi. ΠΠ° ΡΠ΅Π·ΠΈ, ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΡΠ° Π·Π°ΠΏΠΎΠ·Π½Π°ΡΠΈ ΡΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°, ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΎΠ±ΡΡΠ½ΠΈ Π΅Π΄Π½ΠΎ Π½Π΅ΡΠΎ: shl x Π΅ ΠΏΠΎΠ±ΠΈΡΠΎΠ²ΠΎ ΠΈΠ·ΠΌΠ΅ΡΡΠ²Π°Π½Π΅ Π½Π°Π»ΡΠ²ΠΎ Ρ x, shr x Π΅ ΠΏΠΎΠ±ΠΈΡΠΎΠ²ΠΎ ΠΈΠ·ΠΌΠ΅ΡΡΠ²Π°Π½Π΅ Π½Π°Π΄ΡΡΠ½ΠΎ Ρ x.
ΠΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°ΠΌΠ΅, ΡΠ΅ ΠΏΠΈΡΠ΅ΠΌ ΡΠ΅ΠΊΡΡ, ΡΡΡ
ΡΠ°Π½Π΅Π½ Π² Π½ΠΈΠ· Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°, ΠΈ Π·Π°ΠΌΠ΅ΡΡΠ²Π°ΠΌΠ΅ Π΄ΠΎΠ»Π½ΠΈΡΠ΅ Π΄Π²Π° Π±Π°ΠΉΡΠ°:
ΠΠΎΠ΄ Π·Π° Π·Π°ΠΏΠΈΡ:
for i:=1 to length(str) do
Π·Π°ΠΏΠΎΡΠ²Π°ΠΌ
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 do
Π·Π°ΠΏΠΎΡΠ²Π°ΠΌ
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