Tech Help

Kí ló dé tí Base64 fi ń sọ fáìlì di ńlá?

Base64 sábàá ń sọ data binary di ńlá níwọ̀n ìdá mẹ́ta. Wo ìlànà báìtì 3 sí lẹ́tà 4, ìfúnjú, ìwọ̀n àfikún Data URL, àti ìgbà tí ìwọ̀n àfikún yẹn ṣe é ra.

Ìdáhùn kúkúrú

Base64 sábàá ń sọ data binary di ńlá níwọ̀n ìdá mẹ́ta nítorí pé ó ń fi lẹ́tà Base64 mẹ́rin tí a lè tẹ̀ ṣe àfihàn gbogbo báìtì 3 ti data binary.

Tí gígùn ìtẹ̀sí kò bá jẹ́ ìsọdipúpọ̀ gangan ti 3, Base64 tó pé pẹ̀lú ìfúnjú lè fi lẹ́tà = kún un. Gígùn tí a kọ jẹ́ 4 × ceil(n / 3), níbi tí n jẹ́ iye báìtì àtẹ̀lé.

«Nǹkan bí 33%» ń ṣàlàyé ìtẹ̀sí ńlá. Ìtẹ̀sí kékeré gan-an lè dàbí ìdá tó pọ̀ ju nítorí ìfúnjú. Base64 kì í ṣe ìsúnmọ́. Fún ìkọ̀wé àti ìpamọ́, wo [Base64 kì í ṣe ìpamọ́: ohun tí ó ń ṣe nítòótọ́](/yo/story/base64-is-not-encryption).

Àpilẹ̀kọ yìí ń ṣàlàyé ìdí tí ìjáde Base64 fi pọ̀ ju báìtì àtẹ̀lé lọ. Kì í ṣe ìtọ́sọ́nà ààbò. Tí o bá nílò ìkọ̀wé àti ìpamọ́, lo Base64 kì í ṣe ìpamọ́: ohun tí ó ń ṣe nítòótọ́.

Kí ló dé tí Base64 fi nílò àyè púpọ̀ sí i?

Báìtì 3 jẹ́ bítì 24. Base64 ń pín bítì 24 yẹn sí ẹgbẹ́ 4 ti bítì 6. Ẹgbẹ́ kọ̀ọ̀kan ń bá lẹ́tà Base64 kan mu, nítorí náà báìtì 3 ìtẹ̀sí di lẹ́tà 4 ìjáde. Tí a bá fipamọ́ gẹ́gẹ́ bí báìtì 1 fún lẹ́tà ASCII kọ̀ọ̀kan, ìyẹn jẹ́ 4 / 3 ≈ 1.333 — ìlọsíwájú nǹkan bí 33.3%.

  • Báìtì 3 (bítì 24)
  • Pín sí ẹgbẹ́ 4 ti bítì 6
  • Ẹgbẹ́ kọ̀ọ̀kan → lẹ́tà Base64 kan
  • Lẹ́tà 4 (sábàá báìtì 4 ọ̀rọ̀)
Ìgbésẹ̀ báìtì 3 → lẹ́tà 4 ni owó ìwọ̀n. Ìfúnjú lè fi díẹ̀ kún ìtẹ̀sí kúkúrú.

Àpẹẹrẹ rọrùn tí a lè yẹ̀wò

Àwọn ìkọ̀wé wọ̀nyí bá Base64 tó pé pẹ̀lú ìfúnjú mu.

Man

Man

Base64

TWFu

Man jẹ́ báìtì 3 UTF-8/ASCII. TWFu jẹ́ lẹ́tà 4: 3 → 4.

Hello

Hello

Base64

SGVsbG8=

Hello jẹ́ báìtì 5. SGVsbG8= jẹ́ lẹ́tà 8, pẹ̀lú = kan. Lórí data kékeré, ìfúnjú ń mú kí ìdá dàbí ẹni pé ó pọ̀ ju 33% lọ.

Báwo ni a ṣe ń ṣírò ìwọ̀n Base64?

Fún Base64 tó pé pẹ̀lú ìfúnjú, encodedLength = 4 × ceil(originalBytes / 3).

Báìtì àtẹ̀lé Lẹ́tà Base64
14
24
34
48
58
68

Báìtì 1 tàbí 2 ṣì ń mú lẹ́tà 4 jáde. Lo ìlànà, kì í ṣe 33% tí kò yí padà.

Kí ni ìfúnjú «=» túmọ̀ sí?

Àmì = ń fi hàn pé ìdìpọ̀ báìtì 3 tó kẹ́yìn kò kún. Báìtì 1 ìtẹ̀sí ń lo lẹ́tà = méjì; báìtì 2 ń lo ọ̀kan; báìtì 3 kì í lo èyíkéyìí. Ìfúnjú kì í ṣe ìpamọ́ tàbí ẹ̀yà ààbò.

Ṣé Base64URL ń lo àyè kéré sí i?

Base64URL ń sọ + di - àti / di _, Ìyípadà Base64 sì ń fi = ìkẹyìn sílẹ̀ nígbà ìkọ̀wé. Ìyẹn lè gé okùn nípasẹ̀ àwọn lẹ́tà = yẹn. Ìlànà báìtì 3 → lẹ́tà 4 kò yí, nítorí náà Base64URL kì í ṣe ọ̀nà binary tó ń fi àyè pamọ́ ju.

Kí ló dé tí ìtẹ̀sí kékeré fi lè dàgbà ju 33% lọ?

Báìtì 1 → lẹ́tà 4 jẹ́ ìlọsíwájú gígùn 300%. Báìtì 2 → 4 jẹ́ 100%. Báìtì 3 → 4 jẹ́ nǹkan bí 33.3%. Bí n ṣe ń dàgbà, ìfúnjú ń ṣe pàtàkì kéré, owó àfikún sì ń sún mọ́ nǹkan bí 33%. Base64 kì í pọ̀ sí ní 33% gangan nígbà gbogbo.

Kí ló dé tí Data URL Base64 fi pọ̀ sí i?

Data URL ń fi ìtẹ̀síwájú bí data:image/png;base64, ṣáájú ẹrù. Lórí fáìlì kékeré gan-an ìtẹ̀síwájú yẹn lè jẹ ìdá. Ìyípadà Base64 lè mú Base64 àìpẹ̀ tàbí Data URL jáde; ìjáde Data URL ń lo álífábẹ́ẹ̀tì tó pé.

Base64 àti binary: èwo ló kéré?

Binary àìpẹ̀ ń fi àyè pamọ́ ju fún ìgbéjáde àti ìfipamọ́. Base64 pọ̀ sí, ṣùgbọ́n ó dáàbò bo gẹ́gẹ́ bí ọ̀rọ̀ nínú JSON, ímeèlì, àti ọ̀nà ọ̀rọ̀ nìkan mìíràn. Ìkọ̀wé binary sí ọ̀rọ̀ ni, kì í ṣe ìsúnmọ́.

Ṣé Base64 ń sún fáìlì mọ́?

Rárá. Base64 kì í ṣe ọ̀nà ìsúnmọ́. Ọ̀rọ̀ tí a kọ sábàá pọ̀ ju báìtì àtẹ̀lé lọ. Tí o bá lo gzip tàbí Brotli lórí ọ̀rọ̀ yẹn lẹ́yìn, àtúnyẹ̀wò díẹ̀ lè kéré—èsì dá lórí data àti ẹni sún. gzip kì í pa owó àfikún Base64 rẹ́ pátápátá.

Kí ni ó ń ṣẹlẹ̀ tí a bá gzip Base64?

Ìsúnmọ́ HTTP lè dín àwọn àpẹẹrẹ àtúnyẹ̀wò díẹ̀ kù nínú ọ̀rọ̀ Base64. JPEG, PNG, tàbí ZIP sábàá kì í sún dáadáa kódà gẹ́gẹ́ bí báìtì àìpẹ̀, Base64-lẹ́yìn-gzip sì ṣì dá lórí ọ̀ràn. Kò sí ìdá àfikún kan ṣoṣo lẹ́yìn gzip.

Ṣé o yẹ kí o fi fáìlì pamọ́ gẹ́gẹ́ bí Base64?

Base64 lè fi binary sínú pápá JSON, ohun ìní kékeré nínú ìlà, API ọ̀rọ̀ nìkan, dàákọ/lẹ̀, tàbí Data URL. Fún fáìlì ńlá, ìfipamọ́, ìrántí, àti ìwọ̀n ẹrù gbogbo ń dàgbà. Ìyẹn kì í ṣe «má ṣe lo Base64 fún fáìlì láéláé».

Kí ló dé tí Base64 fi wọ́pọ̀ nínú API JSON?

JSON kò ní irú binary àìpẹ̀ nínú ara, nítorí náà API sábàá ń fi báìtì sínú okùn Base64. Fún fáìlì ńlá, multipart/form-data, ìfipamọ́ nǹkan, tàbí ìgbéra binary taara lè bá a mu ju. Kò sí èyí tó dára jù nígbà gbogbo.

Kí ló dé tí a fi ń lo Base64 nínú ímeèlì?

MIME lè lo Base64 kí àfìkún binary lè rìn gẹ́gẹ́ bí lẹ́tà tó dáàbò bo ọ̀rọ̀. Owó ìwọ̀n kannáà ṣì wà. Èyí jẹ́ àfihàn ìgbéjáde, kì í ṣe fáìlì kékeré.

Nígbà wo ni ìwọ̀n àfikún ṣe é ra?

Ìwọ̀n àfikún lè ṣe é ra nígbà tí binary gbọ́dọ̀ wà nínú ọ̀rọ̀, ẹrù kéré, API béèrè Base64, tàbí o nílò Data URL. Fún média ńlá, fẹ́ binary àìpẹ̀ nígbà tí ètò bá gbà á.

Nígbà wo ni o yẹ kí o yàgò fún Base64?

Fò ó fún fáìlì ńlá, bandwidth tó há, ìgbéjáde lọ́pọ̀lọpọ̀, tàbí nígbà tí ọ̀nà binary ti wà—ó dá lórí ipò, kì í ṣe «Base64 jẹ́ ìṣe búburú».

Gígùn Base64 pẹ̀lú ìfúnjú tí a lè yẹ̀wò

Iye báìtì àtẹ̀lé àti iye lẹ́tà Base64 tó pé pẹ̀lú ìfúnjú:

Báìtì àtẹ̀lé Lẹ́tà Base64
14
24
34
1016
100136
1,0001,336

Gbogbo ìlà ń tẹ̀lé 4 × ceil(n / 3). Àwọn wọ̀nyí jẹ́ iye lẹ́tà Base64.

Àpẹẹrẹ: fáìlì báìtì 1,000 yóò tóbi tó báwo?

4 × ceil(1000 / 3). ceil(333.333…) = 334, àti 4 × 334 = 1336. Nítorí náà báìtì 1,000 di lẹ́tà Base64 1,336. Tí a bá fipamọ́ gẹ́gẹ́ bí UTF-8/ASCII, lẹ́tà kọ̀ọ̀kan sábàá jẹ́ báìtì 1—má ṣe mú 1,336 gẹ́gẹ́ bí iye báìtì gangan nínú ìrántí.

Ṣé Base64 lè lo ìrántí púpọ̀ ju ìwọ̀n fáìlì lọ?

Àwọn ètò kan ń fi okùn pamọ́ pẹ̀lú báìtì tó ju 1 lọ fún lẹ́tà kọ̀ọ̀kan, ìkọ̀wé/ìtú sì lè pa buffer àti okùn mọ́ra. Ìlò ìrántí kì í ṣe gígùn lẹ́tà gangan.

Ìtọ́sọ́nà ìpinnu ìwọ̀n rọrùn

Tí ètò bá gba binary àìpẹ̀, fẹ́ ẹ nítorí ìwọ̀n. Tí a bá fàyè gba ọ̀rọ̀ nìkan, Base64 lè bá a mu. Fún ẹrù ńlá, wá ọ̀nà ìgbéra binary. Fún ọ̀rọ̀ tó dáàbò bo URL, ronú Base64URL—ìfẹ̀ 3 sí 4 ṣì wà.

  • Ó nílò láti fi data binary ránṣẹ́
  • Ṣé a fàyè gba binary àìpẹ̀? Fẹ́ binary nítorí ìwọ̀n
  • Pápá ọ̀rọ̀ nìkan? Base64 lè yẹ
  • Ẹrù ńlá? Wá ọ̀nà ìgbéra binary
  • Ó nílò ọ̀rọ̀ tó dáàbò bo URL? Ronú Base64URL
  • Retí ọ̀rọ̀ nǹkan bí 33% sí i lórí ìtẹ̀sí ńlá
Base64 ń ra ìbámu ọ̀rọ̀. Kò ra fáìlì kékeré.
Base64 ń pààrọ̀ àyè fún ìbámu ọ̀rọ̀

A kò ṣe Base64 láti sọ data di kéré. Ó ń mú kí binary rọrùn láti fi hàn nínú ètò tó dá lórí ọ̀rọ̀, owó sì ni ìwọ̀n àfikún.

Kọ tàbí tú Base64 nínú aṣàwákiri

NEXNARA Ìyípadà Base64 ń kọ àti tú ọ̀rọ̀, ó sì lè sọ fáìlì di Base64 tàbí Data URL kí ó sì dá Base64 padà sí fáìlì.

Ọ̀rọ̀ ń lo báìtì UTF-8, lẹ́yìn náà Base64—kì í ṣe ASCII nìkan. Yan Standard tàbí Base64URL. Ìjáde fáìlì lè jẹ́ Base64 àìpẹ̀ tàbí Data URL (álífábẹ́ẹ̀tì tó pé). A kọ̀ ìtẹ̀sí tí kò tọ́. Báìtì tí kì í ṣe UTF-8 nílò sí fáìlì, kì í ṣe ìtú ọ̀rọ̀.

Fáìlì tó ju 10 MB lọ lè mú kí táàbù lọ́ra (ìkìlọ̀). Fáìlì tó ju 32 MB lọ ni a dí.

Ìkọ̀wé àti ìtú ń ṣẹlẹ̀ nínú aṣàwákiri rẹ. A kò fi fáìlì ránṣẹ́ sí olupin NEXNARA fún ohun èlò yìí. Ìpolówó àti ẹ̀yà ojúewé mìíràn ṣì ń lo nẹ́tíwọ́ọ̀kì.

Lẹ̀ ọ̀rọ̀ tàbí fáìlì nínú Ìyípadà Base64 kí o sì fi báìtì àtẹ̀lé wé gígùn tí a kọ.

FAQ

Kí ló dé tí Base64 fi ń pọ̀ sí ìwọ̀n fáìlì?

Ó ń so báìtì 3 (bítì 24) pọ̀ mọ́ lẹ́tà 4 (4 × bítì 6). Tí a bá fipamọ́ gẹ́gẹ́ bí ọ̀rọ̀, ìyẹn jẹ́ nǹkan bí ìdá mẹ́ta sí i fún ìtẹ̀sí ńlá.

Ṣé Base64 pọ̀ sí ní 33% nígbà gbogbo?

Rárá. Ìtẹ̀sí ńlá ń sún mọ́ nǹkan bí 33.3%. Ìtẹ̀sí kékeré lè dàgbà ju nítorí ìfúnjú. Lo 4 × ceil(n / 3).

Base64 pọ̀ ju binary lọ tó báwo?

Gígùn tó pé pẹ̀lú ìfúnjú jẹ́ lẹ́tà 4 × ceil(n / 3). Ìtẹ̀síwájú Data URL ń fi sí i.

Ṣé ìsúnmọ́ Base64 ń dín ìwọ̀n fáìlì kù?

Base64 kì í sún. Gzip tàbí Brotli lórí ọ̀rọ̀ tí a kọ lè gé díẹ̀; wọn kì í pa owó àfikún rẹ́ nínú gbogbo ọ̀ràn.

Ṣé Base64URL ń lo àyè kéré sí i?

Ó lè fi ìfúnjú = sílẹ̀, nítorí náà okùn lè kúrú ní lẹ́tà 0–2. Ìlànà ìkọ̀wé 3-sí-4 kannáà ni.

Ṣé mo yẹ kí n lo Base64 fún fáìlì ńlá?

Nìkan tí o bá nílò ọ̀rọ̀. Fún ìgbéjáde ńlá tàbí lọ́pọ̀lọpọ̀, ọ̀nà binary sábàá kéré. Base64 kì í ṣe àṣìṣe nígbà gbogbo fún API.