1 00:00:00,000 --> 00:00:00,494 2 00:00:00,494 --> 00:00:13,350 >> [MIZIK jwe] 3 00:00:13,350 --> 00:00:14,080 >> ROB BOWDEN: Hi. 4 00:00:14,080 --> 00:00:17,550 Mwen se Rob, e kite yo espere ke sa a solisyon ede mete ou 5 00:00:17,550 --> 00:00:19,600 sou wout la rekiperasyon. 6 00:00:19,600 --> 00:00:22,700 Se konsa, kite a jwenn te kòmanse. 7 00:00:22,700 --> 00:00:25,660 >> Nou wè ke imedyatman nou ap jis asire w ke nou ap 8 00:00:25,660 --> 00:00:27,170 lè l sèvi avèk Reprann kòrèkteman. 9 00:00:27,170 --> 00:00:31,490 Se konsa, l 'a ta dwe jis pou yon bagay tankou dot koupe geri. 10 00:00:31,490 --> 00:00:35,500 >> Koulye a, nou ap ale nan louvri espere a kat dot dosye anvan tout koreksyon. 11 00:00:35,500 --> 00:00:39,740 Nou wè isit la ke nou ap lè l sèvi avèk la konstan souliye anvan tout koreksyon Non ranpli, 12 00:00:39,740 --> 00:00:44,200 ki moute isit la nou gen hash defini kòm kat dot anvan tout koreksyon. 13 00:00:44,200 --> 00:00:45,030 OK. 14 00:00:45,030 --> 00:00:48,210 >> Se konsa, nou bezwen asire w ke ke avèk siksè louvri paske si li 15 00:00:48,210 --> 00:00:51,150 pa t ', lè sa a nou ta dwe avèti itilizatè a. 16 00:00:51,150 --> 00:00:56,770 Men, an konsideran ke li te fè, nou kounye a ale nan deklare yon zòn de defans nan gwosè JPEG 17 00:00:56,770 --> 00:00:58,170 pote Non longè. 18 00:00:58,170 --> 00:01:02,060 Se konsa, sa a se pral fè tanpon an ki nou pral sprintf nan. 19 00:01:02,060 --> 00:01:04,360 >> Se konsa, sa a se JPEG dosye Non longè? 20 00:01:04,360 --> 00:01:08,490 Moute bò isit, nou wè ke li nan Hash defini kòm uit. 21 00:01:08,490 --> 00:01:10,670 Se konsa, poukisa uit? 22 00:01:10,670 --> 00:01:15,150 Oke y ap fè yon dosye bay yo nonmen non li yon bagay tankou zewo zewo zewo. 23 00:01:15,150 --> 00:01:19,460 JPG ak Lè sa a, nou bezwen yon antislach zewo. 24 00:01:19,460 --> 00:01:22,720 Se konsa, nou bezwen yon tanpon ki ka magazen uit karaktè. 25 00:01:22,720 --> 00:01:25,190 Koulye a, nou ap ale nan gen yon vann san preskripsyon sa a, se ale nan kenbe tras nan la 26 00:01:25,190 --> 00:01:27,780 JPEGs nimewo nou jwenn. 27 00:01:27,780 --> 00:01:31,590 >> E finalman, nou pral gen yon JPEG dosye ki se okòmansman nil 28 00:01:31,590 --> 00:01:35,920 ki se pral fè kounye a nan dosye louvri ke nou ap ekri nan. 29 00:01:35,920 --> 00:01:37,540 Koulye a, nou ap ale nan gen yon tanpon adisyonèl. 30 00:01:37,540 --> 00:01:41,350 Sa a se pa menm bagay la tou kòm sprintf nou pezib kote zòn de defans sa a se youn nan 31 00:01:41,350 --> 00:01:45,020 ke nou ap lekti nan done yo ki soti nan kat la dot anvan tout koreksyon. 32 00:01:45,020 --> 00:01:48,900 >> Se konsa, tanpon an ki pral fè nan charaktèr siye, ki ou kapab 33 00:01:48,900 --> 00:01:53,560 fondamantalman jis trete nou bytes, epi li pral fè nan gwosè gwosè blòk 34 00:01:53,560 --> 00:01:57,950 kote, menm jan nou di nou sa: gwosè blòk se 512. 35 00:01:57,950 --> 00:02:03,070 Se konsa, JPEGs ou ka trete tout bagay kòm blòk nan 512 bytes. 36 00:02:03,070 --> 00:02:05,890 >> Koulye a, nou ap ale nan bouk sou dosye a tout antye. 37 00:02:05,890 --> 00:02:12,980 Nou pral f li nan zòn de defans nou an yon sèl fwa multiple gwosè blòk soti nan 38 00:02:12,980 --> 00:02:14,710 kat la dot dosye anvan tout koreksyon. 39 00:02:14,710 --> 00:02:16,630 Kounye a ki sa f li tounen? 40 00:02:16,630 --> 00:02:20,050 Li retounen ki kantite atik ke li avèk siksè li. 41 00:02:20,050 --> 00:02:27,310 Se konsa, si li jere yo li 512 bytes, lè sa a nou vle wè si wi ou non sa a te yon 42 00:02:27,310 --> 00:02:29,700 JPEG oswa ekri li nan yon dosye JPEG. 43 00:02:29,700 --> 00:02:34,450 Men, si li pa t 'tounen 512 bytes, Lè sa a, te swa dosye a nan te fini nan 44 00:02:34,450 --> 00:02:37,870 ka sa a nou pral kraze soti nan y bouk, oswa gen kèk sòt de erè 45 00:02:37,870 --> 00:02:40,300 nan ka sa a nou pral tou kraze soti nan y bouk la, men nou pral vle fè rapò 46 00:02:40,300 --> 00:02:41,990 ke yon bagay ale mal. 47 00:02:41,990 --> 00:02:42,290 >> OK. 48 00:02:42,290 --> 00:02:47,630 Se konsa, an konsideran ke nou li avèk siksè nan 512 bytes, nou vle premye chèk 49 00:02:47,630 --> 00:02:53,070 fè ki bytes sa yo ke nou jis li nan kòmanse yon JPEG. 50 00:02:53,070 --> 00:02:56,430 Se konsa, si se JPEG header nan zòn de defans nou an. 51 00:02:56,430 --> 00:02:58,460 Kounye a ki sa li se JPEG header fè la a? 52 00:02:58,460 --> 00:03:00,120 Se pou yo gade. 53 00:03:00,120 --> 00:03:05,270 >> Moute bò isit, nou wè ke fonksyon sa a se retounen yon ti towo bèf, e ke sa ti towo bèf - 54 00:03:05,270 --> 00:03:08,820 byen isit la, nou ap tcheke yo wè si header zewo egal konstan sa a epi 55 00:03:08,820 --> 00:03:11,880 header yon sèl egal konstan sa a epi header de egal konstan sa a, 56 00:03:11,880 --> 00:03:15,640 header twa egal sa a oswa sa a konstan kote tout konstan sa yo, se 57 00:03:15,640 --> 00:03:20,340 jis Hash yo defini dwa isit la, epi yo ekzakteman ki sa nou te di nou nan espèk a 58 00:03:20,340 --> 00:03:22,700 ke yon JPEG kòmanse ak. 59 00:03:22,700 --> 00:03:27,300 Se konsa, fonksyon sa a se jis ale nan retounen vre si tanpon sa a reprezante 60 00:03:27,300 --> 00:03:31,750 kòmanse nan yon nouvo JPEG ak fo otreman. 61 00:03:31,750 --> 00:03:32,520 >> OK. 62 00:03:32,520 --> 00:03:38,490 Se konsa, si sa a fè reprezante yon nouvo JPEG, Lè sa a, nou premye vle tcheke yo wè si 63 00:03:38,490 --> 00:03:42,030 JPEG dosye se pa egal a nil, nan ka sa a nou fèmen li. 64 00:03:42,030 --> 00:03:44,940 Se konsa, poukisa nou bezwen yo tcheke yo wè si li pa nil? 65 00:03:44,940 --> 00:03:48,980 Oke JPEG an trè premye ke nou jwenn nou pa pral deja gen 66 00:03:48,980 --> 00:03:50,440 yon dosye JPEG louvri. 67 00:03:50,440 --> 00:03:55,580 Se konsa, si nou eseye fèmen sa a, Lè sa a, nou pa ap fè yon bagay byen dwat. 68 00:03:55,580 --> 00:03:59,090 >> Men, chak JPEG ki vin apre ke nou louvri, nou vle fèmen 69 00:03:59,090 --> 00:04:00,710 dosye a anvan yo. 70 00:04:00,710 --> 00:04:04,630 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 71 00:04:04,630 --> 00:04:06,280 tanpon JPEG dosye Non. 72 00:04:06,280 --> 00:04:09,870 Apre sa, nou pral sèvi ak dosye JPEG non fòma kòm fòma nou an. 73 00:04:09,870 --> 00:04:12,030 Ak sa ki sa? 74 00:04:12,030 --> 00:04:18,450 Moute bò isit, nou wè ke li se pousan zewo 3D.JPEG kote zewo twa a jis 75 00:04:18,450 --> 00:04:22,089 di ke nou pral itilize twa nonm antye pou sa a Matlasye ak zewo. 76 00:04:22,089 --> 00:04:27,470 Se konsa, sa a se ki jan nou pral jwenn zewo zewo one.JPEG ak zewo 10.JPEG ak sou sa. 77 00:04:27,470 --> 00:04:29,060 >> Nou pral sèvi ak sprintf. 78 00:04:29,060 --> 00:04:33,760 Apre sa, nonb antye ki pè a ke nou ap yo mete nan fisèl la se JPEGs angoudi 79 00:04:33,760 --> 00:04:36,380 refè, ki se orijinal zewo. 80 00:04:36,380 --> 00:04:39,950 Se konsa, dosye a premye louvri ki pral yo dwe zewo zewo zewo dot JPEG. 81 00:04:39,950 --> 00:04:43,330 Lè sa a, nou ap incrementing l 'konsa a dosye pwochen nou louvri yo pral zewo zewo 82 00:04:43,330 --> 00:04:46,830 yon sèl dot JPEG epi n ap enkreman li ankò se konsa li pral zewo zewo de dot 83 00:04:46,830 --> 00:04:49,100 JPEG ak sou sa. 84 00:04:49,100 --> 00:04:49,850 >> Tout dwa. 85 00:04:49,850 --> 00:04:53,210 Se konsa, koulye anndan an nan JPEG dosye non, nou gen non an nan la 86 00:04:53,210 --> 00:04:54,990 ranpli ke nou vle. 87 00:04:54,990 --> 00:04:58,640 Nou ka f louvri ke dosye pou redaksyon an. 88 00:04:58,640 --> 00:04:59,170 OK. 89 00:04:59,170 --> 00:05:02,820 Apre sa, yon lòt fwa ankò, nou bezwen yo tcheke fè asire w ke dosye a avèk siksè 90 00:05:02,820 --> 00:05:08,460 louvri depi si li pa t ', Lè sa a, te gen kèk erè. 91 00:05:08,460 --> 00:05:13,100 >> Se konsa, kounye a nou te vinn sot pase a sa a se yon pati JPEG. 92 00:05:13,100 --> 00:05:16,390 Ak isit la, nou wè nou pral yo pou yo ekri JPEG la. 93 00:05:16,390 --> 00:05:20,980 Men, nou premye gen sa a chèk ki di si JPEG dosye pa fè sa egal nil. 94 00:05:20,980 --> 00:05:22,490 Poukisa nou bezwen sa? 95 00:05:22,490 --> 00:05:28,020 Oke JPEG dosye egal nil lè nou kounye a gen yon JPEG louvri. 96 00:05:28,020 --> 00:05:31,870 >> E si kat dot kòmanse anvan tout koreksyon ak yon pakèt moun sou bytes ki 97 00:05:31,870 --> 00:05:33,510 pa reprezante yon JPEG? 98 00:05:33,510 --> 00:05:36,240 Lè sa a, nou pral vle sote sou moun bytes. 99 00:05:36,240 --> 00:05:39,600 Si nou pa jwenn okenn chèk sa-a, lè sa a nou ap pral ekri nan yon fèrme 100 00:05:39,600 --> 00:05:45,540 ranpli premye 512 bytes yo nan kat la ki se pa bon. 101 00:05:45,540 --> 00:05:46,030 OK. 102 00:05:46,030 --> 00:05:51,330 >> Se konsa, an konsideran nou gen yon dosye louvri, Lè sa a, nou pral yo pou yo ekri ke dosye a 103 00:05:51,330 --> 00:05:53,290 512 bytes ke nou gen nan zòn de defans nou an. 104 00:05:53,290 --> 00:05:57,390 Apre sa, nou ap yon lòt fwa ankò tcheke fè asire w ke 512 bytes yo avèk siksè 105 00:05:57,390 --> 00:06:01,140 yo te ekri paske si yo pa t ' ekri avèk siksè, Lè sa a, yon bagay 106 00:06:01,140 --> 00:06:02,080 ale mal. 107 00:06:02,080 --> 00:06:06,540 Nou pral fèmen dosye nou an, ekri AN LÈT MAJISKIL yon bagay ale mal, ak retou. 108 00:06:06,540 --> 00:06:10,940 Nou asime tout bagay ale kòrèkteman, Lè sa a, nou pral kenbe loupin fèmen nan 109 00:06:10,940 --> 00:06:15,060 fin vye granmoun ranpli, louvri dosye a nouvo, ekri done nan dosye a nouvo, e konsa 110 00:06:15,060 --> 00:06:20,990 sou jouk finalman, sa a f li retounen zewo ki vle di 111 00:06:20,990 --> 00:06:23,280 ki se dosye a fè. 112 00:06:23,280 --> 00:06:28,490 >> Se konsa, kounye a ke lekti nan kat se sou, nou wè ke nou ap ale nan f fèmen nan 113 00:06:28,490 --> 00:06:33,250 dosye pase ke nou te gen ouvè, men nou ap tcheke si JPEG dosye 114 00:06:33,250 --> 00:06:34,900 pa fè sa egal nil. 115 00:06:34,900 --> 00:06:39,520 Oke fèmen nan f fè sans paske kòm nou ap louvri dosye, n ap fèmen 116 00:06:39,520 --> 00:06:43,870 dosye a anvan, men dènye a trè dosye ke nou louvri pa janm vin fèmen. 117 00:06:43,870 --> 00:06:45,580 Se konsa, se sa ki sa a ap fè. 118 00:06:45,580 --> 00:06:47,720 >> Men, poukisa nou bezwen tcheke pou nil? 119 00:06:47,720 --> 00:06:53,130 Oke sa ki si kat dot anvan tout koreksyon pa t ' gen yon sèl JPEG andedan nan li? 120 00:06:53,130 --> 00:06:56,640 Nan ka sa a, nou ta gen pa janm louvri yon dosye. 121 00:06:56,640 --> 00:07:00,230 Men, si nou pa janm louvri yon dosye, nou ta dwe pa eseye fèmen ke dosye-a. 122 00:07:00,230 --> 00:07:03,000 Se konsa, se sa ki chèk sa-a ap fè. 123 00:07:03,000 --> 00:07:07,880 >> Koulye a isit la, menm jan mwen te di anvan, nou te kapab te kraze soti ke y bouk swa si 124 00:07:07,880 --> 00:07:13,520 te kat la te fini oswa si gen kèk erè li ki soti nan kat la. 125 00:07:13,520 --> 00:07:16,680 Se konsa, sa a se tcheke yo wè si te gen yon erè li ki soti nan kat la, nan 126 00:07:16,680 --> 00:07:19,400 ka sa a, nou pral di gen te gen yon lekti erè. 127 00:07:19,400 --> 00:07:22,130 Nou pa vle itilizatè a yo panse tout bagay te ale avèk siksè. 128 00:07:22,130 --> 00:07:24,750 Epitou, n ap retounen yonn pou erè. 129 00:07:24,750 --> 00:07:29,580 >> Finalman, nou pral f fèmen dosye anvan tout koreksyon nou an, kat nou an dot anvan tout koreksyon, ki endike ke 130 00:07:29,580 --> 00:07:34,070 tout bagay te mache byen epi retounen zewo ak sa a, se li. 131 00:07:34,070 --> 00:07:36,130 >> Non mwen se Rob ak sa a te geri. 132 00:07:36,130 --> 00:07:42,102 >> [MIZIK jwe]