Àmọ̀ràn àpamọ́ bit (bit flag) ń kó ìdáhùn béèni-tàbí-bẹẹ́kọ́ púpọ̀ jọ sínú nọ́ńbà kan ṣoṣo. Gbogbo díjìtì bínárì nínú nọ́ńbà yìí jẹ́ yíyípa lọ́tọ̀: tan tàbí pa, ṣètò tàbí a kò ṣètò. Ó jẹ́ ọ̀nà díẹ̀ tí ètò kọ̀mpútà fi lè pa àwọn ìlòòrí díẹ̀ mọ́ nínú àyè ààyè kan ṣoṣo.
Nibo ni iye ti wa
Bit flag, tí a tún ń pè ní bit field, wá láti inú èdá ètò kọ̀mpútà. Nínú èdè bíi C àti C++ wọ́n jẹ́ kó rọrùn fún oníṣèdá ètò láti fipamọ́ ọ̀pọ̀ iye boolean sínú báìtì kan tàbí àkójọpọ̀ báìtì, níbi tí gbogbo bit tàbí ẹgbẹ́ àwọn bit ṣe ní àdírẹ́sì tirẹ̀. Àwòkọ́ṣe fáìlì máa ń gbà àfọwọ́kọ yìí gbà láti ṣàkọsílẹ̀ àwọn àṣàyàn nípa akoonu wọn.
Nínú ìròyìn metadata, ó ṣeé ṣe kóòdìkan pé ìwọ máa pàdé bit flag kan lórí àkójọpọ̀ ZIP, àti lórí àwọn fọ́máátì Office tí wọ́n jẹ́ àpò ZIP ní abẹ́: àwọn fáìlì DOCX, XLSX àti PPTX. Àwọn fáìlì ODT àti àwọn ìwé EPUB náà ń pa àfàní yìí mọ́, ṣùgbọ́n ó ṣeé ṣe kí ìròyìn má fi hàn. Fọ́máátì ZIP fún gbogbo nkan inú àkójọpọ̀ náà ní "general purpose bit flag" tirẹ̀, ètò kọ̀mpútà tí ó dá àkójọpọ̀ náà sílẹ̀ ló sì ń ṣètò ó. Kò sí ẹnikẹ́ni tí ń tẹ ìyìpò yìí létíìmù.
Báwo la ṣe ka iye náà
Àami yìí sábà máa ń hàn ní hexadecimal, ètò nọ́ńbà tí ń kà nínú mẹ́rìnlá-dín-lógún (16) tí a sì máa ń kọ́ pẹ̀lú 0x ní ìbẹ̀rẹ̀. Iye 0x0 túmọ̀ sí pé a kò ṣètò ìyípadà kankan, èyí ni bó ṣe ń rí lọ́pọ̀ ìgbà. Àwọn iye bí 0x2 tàbí 0x808 túmọ̀ sí pé bit kan tàbí ju bẹ́ẹ̀ lọ wà lórí, ìwọ á sì ka a nípa yíyí nọ́ńbà náà padà sí bínárì kí o sì wo ipo ọkọọkan.
Àwọn yíyípadà ZIP mẹ́ta wúlò láti mọ:
- bit àkọ́kọ́ ń fi àmì pé a ti ṣe àfipamọ́ (encrypted) nkan náà, ìtúmọ̀ rẹ̀ ni pé ó nílò ọ̀rọ̀-àṣínà
- bit kẹrin ń sọ pé a kọ ìwọ̀n àti checksum nkan náà lẹ́yìn data dípò kí a kọ́ọ̀ síwájú rẹ̀, èyí ni ohun tí ó máa ń ṣẹlẹ̀ tí a bá ń dá àkójọpọ̀ sílẹ̀ lẹ́sẹ̀kẹsẹ̀
- bit kẹwàá-lé-méjì ń sọ pé orúkọ nkan náà ni a fipamọ́ gẹ́gẹ́ bí UTF-8, ètò kóòdù kíkọ àmi ìtẹ̀sí tí ó lè ṣàfihàn àmì ohùn, èdè tí kì í ṣe Latin àti emoji
Idi ti o fi ṣe pataki fun fáìlì rẹ
Flag náà ń ṣàlàyé ìhùwàsí tí ìwọ á ti rí gẹ́gẹ́ bí ohun ìyanu. Níbẹ̀ ni fáìlì tó ní ààbò ọ̀rọ̀-àṣínà ti ń kede pé a ti ti i, kí ètò kankan tó béèrè ọ̀rọ̀-àṣínà lọ́wọ́ rẹ. Ó jẹ́ ìdí tí díẹ̀ lára àwọn app kò fi lè sọ ìwọ̀n nkan inú àkójọpọ̀ títí di àsìkò tí wọ́n fi tú u jáde. Ó tún jẹ́ ìdí tí orúkọ fáìlì tí ó ní àmì ohùn tàbí àwọn àmì ilẹ̀ Ṣáínà fi máa jáde dáadáa nínú app ìtútù àkọsílẹ̀ kan, tí wọ́n fi dà bí ìtànkálẹ̀ asán nínú omíràn: ọ̀kan ń bọ́wọ̀ fún yíyípadà UTF-8 náà, èkejì sì ń ro pé àtẹ̀jáde atijọ́ ló wà.
Ohun tí àgbègbè yìí kò ṣe ni lílo láti ṣàpèjúwe dídára, kò sì ní ìtàn ara ẹni kankan. Ó jẹ́ àkọsílẹ̀ ìmọ̀-ẹ̀rọ nípa bí a ṣe kọ fáìlì náà, tí ó wúlò nígbà tí nkankan kò ń ṣí, ìwọ sì fẹ́ mọ ìdí.