Tech Help

Base64 ගොනු විශාල කරන්නේ ඇයි?

Base64 සාමාන්‍යයෙන් ද්විමය දත්ත ආසන්න වශයෙන් තුනෙන් එකකින් විශාල කරයි. බයිට් 3 සිට අනුලකුණු 4 දක්වා ව්‍යුහය, පෑඩිං, Data URL අමතර බර, එම ප්‍රමාණය කවදා වටිනවාදැයි බලන්න.

ඉක්මන් පිළිතුර

Base64 සාමාන්‍යයෙන් ද්විමය දත්ත ආසන්න වශයෙන් තුනෙන් එකකින් විශාල කරයි මන්ද සෑම ද්විමය බයිට් 3 ක්ම මුද්‍රණය කළ හැකි Base64 අනුලකුණු 4 කින් දක්වයි.

ආදාන දිග 3 හි නිශ්චිත ගුණිතයක් නොවේ නම්, පෑඩ් කළ සම්මත Base64 = අනුලකුණු එක් කළ හැකිය. එන්කෝඩ් දිග 4 × ceil(n / 3) වේ, මෙහි n මුල් බයිට් දිගයි.

«ආසන්න වශයෙන් 33%» විශාල ආදාන විස්තර කරයි. ඉතා කුඩා ආදානවල පෑඩිං නිසා ප්‍රතිශතය බොහෝ විශාලව පෙනෙන්නට පුළුවන. Base64 සම්පීඩනයක් නොවේ. එන්කෝඩිං එදිරිව එන්ක්‍රිප්ෂන් සඳහා [Base64 එන්ක්රිපxඅනයක නොවෙ: එ සබාම කරන්නෙ කුමක්ද](/si/story/base64-is-not-encryption) බලන්න.

මෙම ලිපිය Base64 ප්‍රතිදානය මුල් බයිට්වලට වඩා විශාල වන්නේ ඇයිදැයි පැහැදිලි කරයි. මෙය ආරක්ෂක මාර්ගෝපදේශයක් නොවේ. එන්කෝඩිං එදිරිව එන්ක්‍රිප්ෂන් අවශ්‍ය නම් Base64 එන්ක්රිපxඅනයක නොවෙ: එ සබාම කරන්නෙ කුමක්ද භාවිතා කරන්න.

Base64 ට වැඩි ඉඩක් ඇයි අවශ්‍ය?

බයිට් 3 ක් බිටු 24 කි. Base64 එම බිටු 24 6 බිටු සමූහ 4 කට බෙදයි. සෑම සමූහයක්ම Base64 අනුලකුණකට සිතියම් වන නිසා ආදාන බයිට් 3 ප්‍රතිදාන අනුලකුණු 4 ක් වේ. ASCII අනුලකුණකට බයිට් 1 ලෙස ගබඩා කළහොත් එය 4 / 3 ≈ 1.333 — ආසන්න වශයෙන් 33.3% වැඩිවීමකි.

  • බයිට් 3 (බිටු 24)
  • බිටු 6 ක සමූහ 4 කට බෙදන්න
  • සෑම සමූහයක් → Base64 අනුලකුණක්
  • අනුලකුණු 4 (බොහෝ විට පෙළ බයිට් 4)
බයිට් 3 → අනුලකුණු 4 පියවර ප්‍රමාණ පිරිවැයයි. කෙටි ආදානවල පෑඩිං ටිකක් තව එක් කළ හැකිය.

සරල, පරීක්ෂා කළ හැකි උදාහරණයක්

මෙම එන්කෝඩිං පෑඩ් කළ සම්මත Base64 සමඟ ගැළපේ.

Man

Man

Base64

TWFu

Man යනු UTF-8/ASCII බයිට් 3 කි. TWFu අනුලකුණු 4 කි: 3 → 4.

Hello

Hello

Base64

SGVsbG8=

Hello බයිට් 5 කි. SGVsbG8= අනුලකුණු 8 කි, = එකක් ඇතුළුව. කුඩා දත්තවල පෑඩිං ප්‍රතිශතය 33% ට වඩා විශාලව පෙන්වයි.

Base64 ප්‍රමාණය ගණනය කරන්නේ කෙසේද?

පෑඩ් කළ සම්මත Base64 සඳහා, encodedLength = 4 × ceil(originalBytes / 3).

මුල් බයිට් Base64 අනුලකුණු
14
24
34
48
58
68

බයිට් 1 හෝ 2 තවමත් අනුලකුණු 4 ක්ම ලබා දෙයි. සූත්‍රය භාවිතා කරන්න, ස්ථාවර 33% නොවේ.

«=» පෑඩිං යනු කුමක්ද?

= ලකුණ අවසාන බයිට්-3 කොටස පිරී නොතිබුණු බව පෙන්වයි. ආදාන බයිට් 1 ක් = අනුලකුණු දෙකක් භාවිතා කරයි; බයිට් 2 එකක්; බයිට් 3 කිසිවක් නැත. පෑඩිං එන්ක්‍රිප්ෂන් හෝ ආරක්ෂක විශේෂාංගයක් නොවේ.

Base64URL අඩු ඉඩක් භාවිතා කරනවාද?

Base64URL + ය - ලෙසත් / ය _ ලෙසත් වෙනස් කරයි, සහ Base64 කේතනය එන්කෝඩ් කිරීමේදී අග = අත්හරියි. එම = අනුලකුණු ප්‍රමාණයට තන්තුව කෙටි විය හැකිය. බයිට් 3 → අනුලකුණු 4 ව්‍යුහය එලෙසම පවතී, එබැවින් Base64URL වඩා ඉඩ-කාර්යක්ෂම ද්විමය ආකෘතියක් නොවේ.

කුඩා ආදාන 33% ට වඩා වැඩි වන්නේ ඇයි?

බයිට් 1 → අනුලකුණු 4 දිගෙන් 300% වැඩිවීමකි. බයිට් 2 → 4 යනු 100% කි. බයිට් 3 → 4 ආසන්න වශයෙන් 33.3% කි. n වැඩි වන විට පෑඩිං අඩු වැදගත් වී අමතර බර ආසන්න වශයෙන් 33% ට ළඟා වේ. Base64 සෑම විටම හරියටම 33% විශාල නොවේ.

Base64 Data URL තවත් විශාල වන්නේ ඇයි?

Data URL පැටවුමට පෙර data:image/png;base64, වැනි උපසර්ගයක් එක් කරයි. ඉතා කුඩා ගොනුවක එම උපසර්ගය ප්‍රතිශතය පාලනය කළ හැකිය. Base64 කේතනය අමු Base64 හෝ Data URL ලබා දිය හැකිය; Data URL ප්‍රතිදානය සම්මත අකුරු මාලාව භාවිතා කරයි.

Base64 එදිරිව ද්විමය: කුමක් කුඩාද?

අමු ද්විමය ප්‍රවාහනය සහ ගබඩාව සඳහා ඉඩෙහි වඩා කාර්යක්ෂමයි. Base64 විශාලයි, නමුත් JSON, විද්‍යුත් තැපෑල සහ පෙළ-පමණක් මාර්ගවල පෙළ-ආරක්ෂිතයි. මෙය ද්විමය-සිට-පෙළ එන්කෝඩිං මිස සම්පීඩනයක් නොවේ.

Base64 ගොනු සම්පීඩනය කරනවාද?

නැත. Base64 සම්පීඩන ආකෘතියක් නොවේ. එන්කෝඩ් කළ පෙළ සාමාන්‍යයෙන් මුල් බයිට්වලට වඩා විශාලයි. පසුව එම පෙළට gzip හෝ Brotli යෙදුවහොත් සමහර පුනරාවර්තනය හැකිලෙන්නට පුළුවන—ප්‍රතිඵලය දත්ත සහ සම්පීඩකය මත රඳා පවතී. gzip Base64 අමතර බර සම්පූර්ණයෙන් ඉවත් නොකරයි.

Base64 ට gzip යෙදුවහොත් කුමක් වේද?

HTTP සම්පීඩනය Base64 පෙළේ සමහර පුනරාවර්තිත රටා අඩු කළ හැකිය. JPEG, PNG හෝ ZIP අමු බයිට් ලෙසත් බොහෝ විට නරකින් සම්පීඩනය වේ, සහ Base64-පසු-gzip තවමත් අවස්ථාව මත රඳා පවතී. gzip ට පසු විශ්වීය අමතර ප්‍රතිශතයක් නැත.

ගොනු Base64 ලෙස තබන්නද?

Base64 ද්විමය JSON ක්ෂේත්‍රයක, කුඩා ඇතුළු වත්කමක, පෙළ-පමණක් API එකක, පිටපත්/අලවීමක, හෝ Data URL එකක තැබිය හැකිය. විශාල ගොනුවල ගබඩාව, මතකය සහ පැටවුම් ප්‍රමාණය සියල්ල වැඩි වේ. එයින් අදහස් වන්නේ «ගොනු සඳහා Base64 කිසිදා භාවිතා නොකරන්න» නොවේ.

JSON API වල Base64 පොදු වන්නේ ඇයි?

JSON ට දේශීය අමු-ද්විමය වර්ගයක් නැත, එබැවින් API බොහෝ විට බයිට් Base64 තන්තුවක තබයි. විශාල ගොනු සඳහා multipart/form-data, වස්තු ගබඩාව, හෝ සෘජු ද්විමය උඩුගත කිරීම වඩා ගැළපෙන්නට පුළුවන. කිසිදු තේරීමක් සෑම විටම හොඳම එක නොවේ.

විද්‍යුත් තැපෑලේ Base64 භාවිතා වන්නේ ඇයි?

MIME ද්විමය ඇමුණුමක් පෙළ-ආරක්ෂිත අනුලකුණු ලෙස ගමන් කිරීමට Base64 භාවිතා කළ හැකිය. එම ප්‍රමාණ අමතර බර තවමත් අදාළ වේ. මෙය ප්‍රවාහන නියෝජනයක් මිස කුඩා ගොනුවක් නොවේ.

අමතර ප්‍රමාණය කවදා වටිනවාද?

ද්විමය පෙළ ඇතුළත තිබිය යුතු විට, පැටවුම කුඩා විට, API එකක් Base64 ඉල්ලන විට, හෝ Data URL අවශ්‍ය විට අමතර ප්‍රමාණය වටින්නට පුළුවන. විශාල මාධ්‍ය සඳහා පද්ධතිය ඉඩ දෙන විට අමු ද්විමය තෝරන්න.

Base64 මග හරින්නේ කවදාද?

විශාල ගොනු, තද බෑන්ඩ්විඩ්ත්, නිතර මාරු, හෝ ද්විමය මාර්ගයක් දැනටමත් ඇති විට මග හරින්න—තත්ත්වය අනුව, «Base64 නරක පුරුද්දක්» නොවේ.

ඔබට පරීක්ෂා කළ හැකි පෑඩ් Base64 දිග

මුල් බයිට් ගණන් සහ පෑඩ් කළ සම්මත Base64 අනුලකුණු ගණන්:

මුල් බයිට් Base64 අනුලකුණු
14
24
34
1016
100136
1,0001,336

සියලු පේළි 4 × ceil(n / 3) අනුගමනය කරයි. මේවා Base64 අනුලකුණු ගණන්ය.

උදාහරණය: බයිට් 1,000 ගොනුව කොපමණ විශාල වේද?

4 × ceil(1000 / 3). ceil(333.333…) = 334, සහ 4 × 334 = 1336. එබැවින් බයිට් 1,000 Base64 අනුලකුණු 1,336 ක් වේ. UTF-8/ASCII ලෙස ගබඩා කළහොත් සෑම අනුලකුණක්ම සාමාන්‍යයෙන් බයිට් 1 කි—1,336 මතකයේ නිශ්චිත බයිට් ගණනක් ලෙස නොගන්න.

Base64 ගොනු ප්‍රමාණය පෙන්වනවාට වඩා මතකය ගන්නේද?

සමහර ධාවන කාල තන්තු අනුලකුණකට බයිට් 1 ට වඩා තබයි, සහ එන්කෝඩ්/ඩිකෝඩ් බෆරයක් සහ තන්තුවක් එකට තබන්නට පුළුවන. මතක භාවිතය හරියටම අනුලකුණු දිග නොවේ.

ප්‍රමාණය සඳහා සරල තීරණ මාර්ගෝපදේශය

පද්ධතිය අමු ද්විමය පිළිගන්නේ නම් ප්‍රමාණය සඳහා එය තෝරන්න. පෙළ පමණක් ඉඩ දෙන්නේ නම් Base64 ගැළපෙන්නට පුළුවන. විශාල පැටවුමකට ද්විමය උඩුගත මාර්ගයක් බලන්න. URL-ආරක්ෂිත පෙළ සඳහා Base64URL සලකා බලන්න—3 සිට 4 දක්වා ප්‍රසාරණය ඉතිරි වේ.

  • ද්විමය දත්ත යැවිය යුතුයි
  • අමු ද්විමය ඉඩ තිබේද? ප්‍රමාණය සඳහා ද්විමය තෝරන්න
  • පෙළ-පමණක් ක්ෂේත්‍රයක්ද? Base64 සුදුසු විය හැකිය
  • විශාල පැටවුමක්ද? ද්විමය උඩුගත මාර්ගය බලන්න
  • URL-ආරක්ෂිත පෙළ අවශ්‍යද? Base64URL සලකා බලන්න
  • විශාල ආදානවල ආසන්න වශයෙන් 33% වැඩි පෙළක් අපේක්ෂා කරන්න
Base64 පෙළ ගැළපීම මිලදී ගනී. කුඩා ගොනුවක් මිලදී නොගනී.
Base64 ඉඩ පෙළ ගැළපීමට මාරු කරයි

Base64 දත්ත කුඩා කිරීමට නිර්මාණය වී නැත. ද්විමය පෙළ-පාදක පද්ධති තුළ දැක්වීම පහසු කරයි, මිල අමතර ප්‍රමාණයයි.

බ්‍රවුසරයේ Base64 එන්කෝඩ් හෝ ඩිකෝඩ් කරන්න

NEXNARA Base64 කේතනය පෙළ එන්කෝඩ් සහ ඩිකෝඩ් කරයි, ගොනුවක් Base64 හෝ Data URL බවට පත් කළ හැකි අතර Base64 ආපසු ගොනුවක් කළ හැකිය.

පෙළ UTF-8 බයිට් පසුව Base64 භාවිතා කරයි—ASCII පමණක් නොවේ. Standard හෝ Base64URL තෝරන්න. ගොනු ප්‍රතිදානය අමු Base64 හෝ Data URL විය හැකිය (සම්මත අකුරු මාලාව). වලංගු නොවන ආදානය ප්‍රතික්ෂේප වේ. UTF-8 නොවන බයිට්වලට ගොනුවක් අවශ්‍යයි, පෙළ ඩිකෝඩ් නොවේ.

10 MB ට වැඩි ගොනු ටැබය මන්දගාමී කළ හැකිය (අනතුරු ඇඟවීම). 32 MB ට වැඩි ගොනු අවහිර කෙරේ.

එන්කෝඩිං සහ ඩිකෝඩිං ඔබේ බ්‍රවුසරයේ සිදු වේ. මෙම මෙවලම සඳහා ගොනුව NEXNARA සේවාදායකයට යවන්නේ නැත. දැන්වීම් සහ අනෙකුත් අඩවි විශේෂාංග තවමත් ජාලය භාවිතා කරයි.

Base64 කේතනය හි පෙළක් හෝ ගොනුවක් අලවා මුල් බයිට් එන්කෝඩ් දිග සමඟ සසඳන්න.

FAQ

Base64 ගොනු ප්‍රමාණය වැඩි කරන්නේ ඇයි?

එය බයිට් 3 (බිටු 24) අනුලකුණු 4 කට (බිටු 4 × 6) සිතියම් කරයි. පෙළ ලෙස ගබඩා කළහොත් විශාල ආදානවල ආසන්න වශයෙන් තුනෙන් එකක් වැඩියි.

Base64 සෑම විටම 33% විශාලද?

නැත. විශාල ආදාන ආසන්න වශයෙන් 33.3% ට ළඟා වේ. ඉතා කුඩා ආදාන පෑඩිං නිසා වැඩි විය හැකිය. 4 × ceil(n / 3) භාවිතා කරන්න.

Base64 ද්විමයට වඩා කොපමණ විශාලද?

සම්මත පෑඩ් දිග අනුලකුණු 4 × ceil(n / 3) කි. Data URL උපසර්ගය තව එක් කරයි.

Base64 සම්පීඩනය ගොනු ප්‍රමාණය අඩු කරනවාද?

Base64 සම්පීඩනය නොකරයි. එන්කෝඩ් කළ පෙළ මත gzip හෝ Brotli සමහරක් හැකිලිය හැකිය; සෑම අවස්ථාවකම අමතර බර මකන්නේ නැත.

Base64URL අඩු ඉඩක් භාවිතා කරනවාද?

එය = පෑඩිං අත්හැරිය හැකි නිසා තන්තුව අනුලකුණු 0–2 කින් කෙටි විය හැකිය. 3 සිට 4 දක්වා එන්කෝඩිං ව්‍යුහය එකමය.

විශාල ගොනු සඳහා Base64 භාවිතා කරන්නද?

පෙළ අවශ්‍ය නම් පමණි. විශාල හෝ නිතර මාරු සඳහා ද්විමය මාර්ගය බොහෝ විට කුඩායි. API සඳහා Base64 සෑම විටම වැරදි නොවේ.

Tech Help

Base64 එන්ක්රිපxඅනයක නොවෙ: එ සබාම කරන්නෙ කුමක්ද

Base64 එන්කොඩිංගයක, එන්ක්රිපxඅනයක නොවෙ. පාස්වඩ මහ නොයෙ, ප්රමාණය වදීනෙ හෙති, ඩිකොඩ කරන්නෙ කොහොමද.

Tech Help

මගේ PDF ඇයි මෙතරම් විශාල? හේතු 7ක් සහ කුඩා කරන ආකාරය

PDF ගොනුව ඇයි විශාලදැයි දැනගෙන ගුණත්වය අනවශ්‍ය ලෙස පාවා නොදී ප්‍රමාණය අඩු කරන ආකාරය ඉගෙන ගන්න.

Tech Help

මගේ PNG ගොනුව ඇයි මෙතරම් විශාල? නරක් නොකර කුඩා කරන විධිය

PNG විශාල විය හැකියි මන්ද එය lossless වන අතර පාරදෘශ්‍යතාව තබාගත හැකියි. PNG සම්පීඩනය කරන්න, අවශ්‍ය නම් ප්‍රමාණය වෙනස් කරන්න, නැතහොත් ඡායාරූප JPEG හෝ WebP වෙත පරිවර්තනය කරන්න.

Tech Help

තිර රූප සඳහා JPG vs PNG: කුමක් කුඩාද?

අන්තර්ගතය අනුව තිර රූප සඳහා JPG හෝ PNG තෝරන්න: UI සහ පෙළ බොහෝ විට PNG තුළ තියුණුව රැඳේ; ඡායාරූප-බර රාමු JPEG තුළ කුඩා විය හැකිය.

Tech Help

JSON.parse ඇයි "Unexpected token" කියන්නේ?

පෙළ වලංගු JSON නොවන විට JSON.parse Unexpected token විසි කරයි. තනි උද්ධරණ, අවසන් කොමාව, HTML ප්‍රතිචාර සහ දෝෂ ස්ථානය නිවැරදි කරන්න.