[MIZIK jwe] ROB BOWDEN: Hi. Mwen se Rob, e kite yo espere ke sa a solisyon ede mete ou sou wout la rekiperasyon. Se konsa, kite a jwenn te kòmanse. Nou wè ke imedyatman nou ap jis asire w ke nou ap lè l sèvi avèk Reprann kòrèkteman. Se konsa, l 'a ta dwe jis pou yon bagay tankou dot koupe geri. Koulye a, nou ap ale nan louvri espere a kat dot dosye anvan tout koreksyon. Nou wè isit la ke nou ap lè l sèvi avèk la konstan souliye anvan tout koreksyon Non ranpli, ki moute isit la nou gen hash defini kòm kat dot anvan tout koreksyon. OK. Se konsa, nou bezwen asire w ke ke avèk siksè louvri paske si li pa t ', lè sa a nou ta dwe avèti itilizatè a. Men, an konsideran ke li te fè, nou kounye a ale nan deklare yon zòn de defans nan gwosè JPEG pote Non longè. Se konsa, sa a se pral fè tanpon an ki nou pral sprintf nan. Se konsa, sa a se JPEG dosye Non longè? Moute bò isit, nou wè ke li nan Hash defini kòm uit. Se konsa, poukisa uit? Oke y ap fè yon dosye bay yo nonmen non li yon bagay tankou zewo zewo zewo. JPG ak Lè sa a, nou bezwen yon antislach zewo. Se konsa, nou bezwen yon tanpon ki ka magazen uit karaktè. Koulye a, nou ap ale nan gen yon vann san preskripsyon sa a, se ale nan kenbe tras nan la JPEGs nimewo nou jwenn. E finalman, nou pral gen yon JPEG dosye ki se okòmansman nil ki se pral fè kounye a nan dosye louvri ke nou ap ekri nan. Koulye a, nou ap ale nan gen yon tanpon adisyonèl. Sa a se pa menm bagay la tou kòm sprintf nou pezib kote zòn de defans sa a se youn nan ke nou ap lekti nan done yo ki soti nan kat la dot anvan tout koreksyon. Se konsa, tanpon an ki pral fè nan charaktèr siye, ki ou kapab fondamantalman jis trete nou bytes, epi li pral fè nan gwosè gwosè blòk kote, menm jan nou di nou sa: gwosè blòk se 512. Se konsa, JPEGs ou ka trete tout bagay kòm blòk nan 512 bytes. Koulye a, nou ap ale nan bouk sou dosye a tout antye. Nou pral f li nan zòn de defans nou an yon sèl fwa multiple gwosè blòk soti nan kat la dot dosye anvan tout koreksyon. Kounye a ki sa f li tounen? Li retounen ki kantite atik ke li avèk siksè li. Se konsa, si li jere yo li 512 bytes, lè sa a nou vle wè si wi ou non sa a te yon JPEG oswa ekri li nan yon dosye JPEG. Men, si li pa t 'tounen 512 bytes, Lè sa a, te swa dosye a nan te fini nan ka sa a nou pral kraze soti nan y bouk, oswa gen kèk sòt de erè nan ka sa a nou pral tou kraze soti nan y bouk la, men nou pral vle fè rapò ke yon bagay ale mal. OK. Se konsa, an konsideran ke nou li avèk siksè nan 512 bytes, nou vle premye chèk fè ki bytes sa yo ke nou jis li nan kòmanse yon JPEG. Se konsa, si se JPEG header nan zòn de defans nou an. Kounye a ki sa li se JPEG header fè la a? Se pou yo gade. Moute bò isit, nou wè ke fonksyon sa a se retounen yon ti towo bèf, e ke sa ti towo bèf - byen isit la, nou ap tcheke yo wè si header zewo egal konstan sa a epi header yon sèl egal konstan sa a epi header de egal konstan sa a, header twa egal sa a oswa sa a konstan kote tout konstan sa yo, se jis Hash yo defini dwa isit la, epi yo ekzakteman ki sa nou te di nou nan espèk a ke yon JPEG kòmanse ak. Se konsa, fonksyon sa a se jis ale nan retounen vre si tanpon sa a reprezante kòmanse nan yon nouvo JPEG ak fo otreman. OK. Se konsa, si sa a fè reprezante yon nouvo JPEG, Lè sa a, nou premye vle tcheke yo wè si JPEG dosye se pa egal a nil, nan ka sa a nou fèmen li. Se konsa, poukisa nou bezwen yo tcheke yo wè si li pa nil? Oke JPEG an trè premye ke nou jwenn nou pa pral deja gen yon dosye JPEG louvri. Se konsa, si nou eseye fèmen sa a, Lè sa a, nou pa ap fè yon bagay byen dwat. Men, chak JPEG ki vin apre ke nou louvri, nou vle fèmen dosye a anvan yo. Se konsa, kounye a nou ap ale nan sèvi ak sprintf jan nou te di anvan kote n ap lè l sèvi avèk la tanpon JPEG dosye Non. Apre sa, nou pral sèvi ak dosye JPEG non fòma kòm fòma nou an. Ak sa ki sa? Moute bò isit, nou wè ke li se pousan zewo 3D.JPEG kote zewo twa a jis di ke nou pral itilize twa nonm antye pou sa a Matlasye ak zewo. Se konsa, sa a se ki jan nou pral jwenn zewo zewo one.JPEG ak zewo 10.JPEG ak sou sa. Nou pral sèvi ak sprintf. Apre sa, nonb antye ki pè a ke nou ap yo mete nan fisèl la se JPEGs angoudi refè, ki se orijinal zewo. Se konsa, dosye a premye louvri ki pral yo dwe zewo zewo zewo dot JPEG. Lè sa a, nou ap incrementing l 'konsa a dosye pwochen nou louvri yo pral zewo zewo yon sèl dot JPEG epi n ap enkreman li ankò se konsa li pral zewo zewo de dot JPEG ak sou sa. Tout dwa. Se konsa, koulye anndan an nan JPEG dosye non, nou gen non an nan la ranpli ke nou vle. Nou ka f louvri ke dosye pou redaksyon an. OK. Apre sa, yon lòt fwa ankò, nou bezwen yo tcheke fè asire w ke dosye a avèk siksè louvri depi si li pa t ', Lè sa a, te gen kèk erè. Se konsa, kounye a nou te vinn sot pase a sa a se yon pati JPEG. Ak isit la, nou wè nou pral yo pou yo ekri JPEG la. Men, nou premye gen sa a chèk ki di si JPEG dosye pa fè sa egal nil. Poukisa nou bezwen sa? Oke JPEG dosye egal nil lè nou kounye a gen yon JPEG louvri. E si kat dot kòmanse anvan tout koreksyon ak yon pakèt moun sou bytes ki pa reprezante yon JPEG? Lè sa a, nou pral vle sote sou moun bytes. Si nou pa jwenn okenn chèk sa-a, lè sa a nou ap pral ekri nan yon fèrme ranpli premye 512 bytes yo nan kat la ki se pa bon. OK. Se konsa, an konsideran nou gen yon dosye louvri, Lè sa a, nou pral yo pou yo ekri ke dosye a 512 bytes ke nou gen nan zòn de defans nou an. Apre sa, nou ap yon lòt fwa ankò tcheke fè asire w ke 512 bytes yo avèk siksè yo te ekri paske si yo pa t ' ekri avèk siksè, Lè sa a, yon bagay ale mal. Nou pral fèmen dosye nou an, ekri AN LÈT MAJISKIL yon bagay ale mal, ak retou. Nou asime tout bagay ale kòrèkteman, Lè sa a, nou pral kenbe loupin fèmen nan fin vye granmoun ranpli, louvri dosye a nouvo, ekri done nan dosye a nouvo, e konsa sou jouk finalman, sa a f li retounen zewo ki vle di ki se dosye a fè. Se konsa, kounye a ke lekti nan kat se sou, nou wè ke nou ap ale nan f fèmen nan dosye pase ke nou te gen ouvè, men nou ap tcheke si JPEG dosye pa fè sa egal nil. Oke fèmen nan f fè sans paske kòm nou ap louvri dosye, n ap fèmen dosye a anvan, men dènye a trè dosye ke nou louvri pa janm vin fèmen. Se konsa, se sa ki sa a ap fè. Men, poukisa nou bezwen tcheke pou nil? Oke sa ki si kat dot anvan tout koreksyon pa t ' gen yon sèl JPEG andedan nan li? Nan ka sa a, nou ta gen pa janm louvri yon dosye. Men, si nou pa janm louvri yon dosye, nou ta dwe pa eseye fèmen ke dosye-a. Se konsa, se sa ki chèk sa-a ap fè. Koulye a isit la, menm jan mwen te di anvan, nou te kapab te kraze soti ke y bouk swa si te kat la te fini oswa si gen kèk erè li ki soti nan kat la. Se konsa, sa a se tcheke yo wè si te gen yon erè li ki soti nan kat la, nan ka sa a, nou pral di gen te gen yon lekti erè. Nou pa vle itilizatè a yo panse tout bagay te ale avèk siksè. Epitou, n ap retounen yonn pou erè. Finalman, nou pral f fèmen dosye anvan tout koreksyon nou an, kat nou an dot anvan tout koreksyon, ki endike ke tout bagay te mache byen epi retounen zewo ak sa a, se li. Non mwen se Rob ak sa a te geri. [MIZIK jwe]