
рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рдХреЗ рджреМрд░рд╛рди JPEG рдлрд╝рд╛рдЗрд▓ рдХреЛ рдХрд╣рд╛рдБ рдФрд░ рдХреИрд╕реЗ рднреНрд░рд╖реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛, рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред
VCDIFF - рдбреЗрд▓реНрдЯрд╛ рдХреЛрдбрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рд░реВрдк рдФрд░ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдоред рдЖрд░рдПрдлрд╕реА 3284 рдореЗрдВ рд╡рд░реНрдгрд┐рддред
рдбреЗрд▓реНрдЯрд╛ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ (Engред рдбреЗрд▓реНрдЯрд╛ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ) - рдбреЗрдЯрд╛ рдХреЗ рдмрдЬрд╛рдп рдзрд╛рд░рд╛рд╡рд╛рд╣рд┐рдХ рдбреЗрдЯрд╛ рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ (рдбреЗрд▓реНрдЯрд╛) рдХреЗ рд░реВрдк рдореЗрдВ рдбреЗрдЯрд╛ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореИрдВ рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЗ рд▓рд┐рдП Windows-1251 рдореЗрдВ рдПрдиреНрдХреЛрдбреЗрдб рдкрд╛рда рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред рд▓реЗрдХрд┐рди рдЙрд╕реА рд╕рдлрд▓рддрд╛ рдХреЗ рд╕рд╛рде, рдпреЗ рдмрд╛рдЗрдирд░реА рдлрд╛рдЗрд▓реЗрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВред
рд╕реВрддреНрд░реЛрдВ рдХрд╛ рдХрд╣рдирд╛ рд╣реИ:
" " ( source.txt ) " " ( target.txt )
рдЖрдкрдХреЛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
" " ( source.txt -> target.txt ) " " ( target.txt -> source.txt )
рдореИрдВ xdelta3 рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рднреА рдЬреЛ vcdiff рдкреНрд░рд╛рд░реВрдк рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рд╡рд╣ рдХрд░реЗрдЧрд╛ред
рдХреИрд╕реЗ рдорд┐рд▓реЗрдЧрд╛?
рд╣рдореЗрдВ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рд╕реЗ рднрд░реА рдПрдХ рдФрд░ рдлрд╝рд╛рдЗрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА:
" " ( spaces.txt )
рдпрд╣ рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЖрдХрд╛рд░ рдореЗрдВ рдмрдбрд╝рд╛ рдпрд╛ рдмрд░рд╛рдмрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП (source.txt)
рдЯреАрдо:
xdelta3 -e -A -n -s source.txt target.txt | xdelta3 -d -s spaces.txt
рдкрд░рд┐рдгрд╛рдо:
рдкреНрд░рдпреБрдХреНрдд рдЭрдВрдбреЗ:
-e
- рдПрдХ рдбреЗрд▓реНрдЯрд╛ рдмрдирд╛рдПрдБ
-A
- рдЕрддрд┐рд░рд┐рдХреНрдд рд╣реЗрдбрд░ рдХреЛ рд╣рдЯрд╛рддрд╛ рд╣реИ
-n
- crc рдХреЛ рд╣рдЯрд╛рддрд╛ рд╣реИ (рдпрд╣ рдХрд┐рд╕реА рдЕрдиреНрдп рд╕реНрд░реЛрдд рдХреЗ рд╕рд╛рде рдбреЗрд▓реНрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ)
-s []
- рд╡рд╣ рд╕реНрд░реЛрдд рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рд▓рдХреНрд╖реНрдп рдлрд╝рд╛рдЗрд▓ рдХреА рддреБрд▓рдирд╛ рдФрд░ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
-d
- рдбреЗрд▓реНрдЯрд╛ рдФрд░ рд╕реНрд░реЛрдд рд╕реЗ рд▓рдХреНрд╖реНрдп рдлрд╝рд╛рдЗрд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ
рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ
рдпрджрд┐ рдЖрдк рдХрдорд╛рдВрдб рдЪрд▓рд╛рддреЗ рд╣реИрдВ:
xdelta3 -e -A -n -s source.txt target.txt | xdelta3 printdelta
рдлрд┐рд░ рд╕рднреА рд╣реЗрдбрд░ рдХреЗ рдмрд╛рдж рд╣рдо VCDIFF рдХрдорд╛рдВрдб рджреЗрдЦреЗрдВрдЧреЗ
Offset Code Type1 Size1 @Addr1 + Type2 Size2 @Addr2 000000 025 CPY_0 9 S@0 000009 010 ADD 9 000018 025 CPY_0 9 S@14
VCDIFF рдкреНрд░рд╛рд░реВрдк рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИред рдЗрд╕рдореЗрдВ 3 рдЯреАрдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
COPY
- рдХрд┐рд╕реА рд╕реНрд░реЛрдд рдпрд╛ рд▓рдХреНрд╖реНрдп рд╕реЗ рдбреЗрдЯрд╛ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рддрд╛ рд╣реИ
ADD
(рдРрдб) - рдбреЗрд▓реНрдЯрд╛ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдбреЗрдЯрд╛ рдХреЛ рд▓рдХреНрд╖реНрдп рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд▓рд┐рдЦрддрд╛ рд╣реИ (рдЕрджреНрд╡рд┐рддреАрдп рдбреЗрдЯрд╛ рдЬрд┐рд╕рдХрд╛ рд╕реНрд░реЛрдд рдореЗрдВ рдирд╣реАрдВ рд╣реИ)
RUN
(рджреЛрд╣рд░рд╛рдирд╛) - рдбреЗрд▓реНрдЯрд╛ рд╕реЗ рдПрдХ рдмрд╛рдЗрдЯ рдХреЛ рдХрдИ рдмрд╛рд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рджреЛрд╣рд░рд╛рддрд╛ рд╣реИ
рдбреЗрд▓реНрдЯрд╛ рдХреЗрд╡рд▓ рдЕрджреНрд╡рд┐рддреАрдп рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╕реНрд░реЛрдд рд╕реЗ рдмрд╛рдХреА рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдХрдорд╛рдВрдб рдЪрд▓рд╛рддреЗ рд╣реИрдВ:
xdelta3 -e -A -n -s source.txt target.txt > target.vcdiff
рд╣рдо рдбреЗрд▓реНрдЯрд╛ рдореЗрдВ рдХреЗрд╡рд▓ "рдкрд░рд┐рд╡рд░реНрддрди" рд╢рдмреНрдж рджреЗрдЦреЗрдВрдЧреЗ рдЬреЛ рдХреЗрд╡рд▓ рд▓рдХреНрд╖реНрдп рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╣реИ
D0A6D093D094200102011720131B2009 0302190D0A19200E
( JSON рдХреЛ рд╡рд┐рд╢реЗрд╖ рд╡рд░реНрдг рдкрд╕рдВрдж рдирд╣реАрдВ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЙрдиреНрд╣реЗрдВ HEX рдореЗрдВ рдЕрдиреБрд╡рд╛рджрд┐рдд рдХрд┐рдпрд╛ )
рдпрджрд┐ рдбреЗрд▓реНрдЯрд╛ рд╕реНрд░реЛрдд (source.txt) рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рд╣рдореЗрдВ рд▓рдХреНрд╖реНрдп рдлрд╝рд╛рдЗрд▓ (target.txt) рдорд┐рд▓рддреА рд╣реИ
xdelta3 -d -s source.txt target.vcdiff
рд░рд┐рдХреНрдд рд╕реНрдерд╛рди (рд░рд┐рдХреНрдд рд╕реНрдерд╛рди) рд╕реЗ рднрд░реА рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рд╕реНрд░реЛрдд (source.txt) рдХреА рдЬрдЧрд╣ рд╣рдордиреЗ рдЙрд╕ рдбреЗрдЯрд╛ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ рдЬреЛ рд╕реНрд░реЛрдд рдореЗрдВ рдФрд░ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдХреЗ рд╕рд╛рде рд▓рдХреНрд╖реНрдп рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рджреЛрд╣рд░рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
xdelta3 -d -s spaces.txt target.vcdiff
рдЖрдк рдХрд┐рд╕реА рдЕрдиреНрдп рд╡рд░реНрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ space.txt рдлрд╝рд╛рдЗрд▓ рдореЗрдВред рдореБрдЦреНрдп рд╢рд░реНрдд рдпрд╣ рд╣реИ рдХрд┐ space.txt рдлрд╝рд╛рдЗрд▓ рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЖрдХрд╛рд░ рдореЗрдВ рдмрдбрд╝реА рдпрд╛ рдмрд░рд╛рдмрд░ рд╣реИред
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореИрдВрдиреЗ JPEG рдлрд╛рдЗрд▓реЛрдВ рдХреА рддреБрд▓рдирд╛ рдЗрд╕ рддрд░рд╣ рдХреА рд╣реИ:
xdelta3 -e -A -n -s bad_image.jpg good_image.jpg | xdelta3 -d -s spaces.txt
рдЗрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХрд╛ рдкрд░рд┐рдгрд╛рдо:
рдкрд░рд┐рдгрд╛рдо рджреЗрдЦреЗрдВ рдХрдИ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдФрд░ рдмрд╛рдЗрдЯ рдЬреЛ "рдкреАрдЯрд╛" рдЧрдпрд╛ рдерд╛ред рдЦрд░рд╛рдм рдмрд╛рдЗрдЯреНрд╕ рдХреЛ рд╣реЗрдХреНрд╕ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ред
рдЬрд┐рди jpeg рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдЖрдк рддреБрд▓рдирд╛ рдХреЗ рддрд░реАрдХреЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЙрдирдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВ:
xdelta3 -e -A -n -s tortoise_bad.jpg tortoise.jpg | xdelta3 -d -s spaces.txt
рдЗрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХрд╛ рдкрд░рд┐рдгрд╛рдо:
рдкрд░рд┐рдгрд╛рдо рджреЗрдЦреЗрдВ F1BF F0B786 F39BAF F3BD94
рдЦрд░рд╛рдм рдмрд╛рдЗрдЯреНрд╕ рдХреЛ рд╣реЗрдХреНрд╕ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ред