تکنیکی مدد

Base64 فائلیں بڑی کیوں کرتا ہے؟

Base64 عام طور پر بائنری ڈیٹا کو تقریباً ایک تہائی بڑا کرتا ہے۔ 3 بائٹس سے 4 حروف کا ڈھانچہ، پیڈنگ، Data URL کا اضافہ، اور کب وہ سائز سودمند ہے دیکھیں۔

مختصر جواب

Base64 عام طور پر بائنری ڈیٹا کو تقریباً ایک تہائی بڑا کرتا ہے کیونکہ یہ ہر 3 بائٹس بائنری کو 4 قابلِ طباعت Base64 حروف سے ظاہر کرتا ہے۔

اگر ان پٹ کی لمبائی 3 کی بالکل ضرب نہ ہو تو معیاری پیڈ شدہ Base64 حروف = جوڑ سکتا ہے۔ رمزبند لمبائی 4 × ceil(n / 3) ہے، جہاں n اصل بائٹ لمبائی ہے۔

«تقریباً 33%» بڑے ان پٹ کی بات ہے۔ بہت چھوٹے ان پٹ پر پیڈنگ سے فیصد کہیں بڑا لگ سکتا ہے۔ Base64 کمپریشن نہیں۔ رمزبندی بمقابلہ خفیہ کاری کے لیے [Base64 خفیہ کاری نہیں: یہ اصل میں کیا کرتا ہے](/ur/story/base64-is-not-encryption) دیکھیں۔

یہ مضمون بتاتا ہے کہ Base64 آؤٹ پٹ اصل بائٹس سے بڑا کیوں ہے۔ حفاظتی رہنما نہیں۔ اگر رمزبندی بمقابلہ خفیہ کاری چاہیے تو Base64 خفیہ کاری نہیں: یہ اصل میں کیا کرتا ہے استعمال کریں۔

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 بائٹس ہیں۔ TWFu چار حروف ہیں: 3 → 4۔

Hello

Hello

Base64

SGVsbG8=

Hello پانچ بائٹس ہے۔ SGVsbG8= آٹھ حروف ہے، ایک = سمیت۔ چھوٹے ڈیٹا پر پیڈنگ فیصد کو 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 بائٹس 1,336 Base64 حروف بنتی ہیں۔ 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 ہمیشہ غلط نہیں۔

تکنیکی مدد

Base64 خفیہ کاری نہیں: یہ اصل میں کیا کرتا ہے

Base64 رمزبندی ہے، خفیہ کاری نہیں۔ پاس ورڈ کیوں نہیں چھپاتا، سائز کیوں بڑھتا ہے، اور کیسے کھولیں۔

تکنیکی مدد

میری PDF اتنی بڑی کیوں ہے؟ 7 وجوہات اور چھوٹا کرنے کا طریقہ

جانیں کہ PDF فائل بڑی کیوں ہوتی ہے اور معیار کو بے ضرورت کم کیے بغیر سائز کیسے گھٹائیں۔

تکنیکی مدد

میری PNG فائل اتنی بڑی کیوں ہے؟ خراب کیے بغیر چھوٹا کرنے کا طریقہ

PNG بڑی ہو سکتی ہے کیونکہ یہ lossless ہے اور شفافیت رکھ سکتی ہے۔ PNG کمپریس کریں، ضرورت ہو تو سائز بدلیں، یا فوٹو JPEG یا WebP میں تبدیل کریں۔

تکنیکی مدد

اسکرین شاٹ کے لیے JPG بمقابلہ PNG: کون سی چھوٹی ہے؟

مواد کے حساب سے اسکرین شاٹ کے لیے JPG یا PNG چنیں: UI اور متن اکثر PNG میں تیز رہتے ہیں؛ فوٹو بھری فریم JPEG میں چھوٹی ہو سکتی ہیں۔

تکنیکی مدد

JSON.parse "Unexpected token" کیوں کہتا ہے؟

جب متن درست JSON نہ ہو تو JSON.parse Unexpected token پھینکتا ہے۔ واحد اقتباس، آخری کوما، HTML جوابات، اور غلطی کی پوزیشن ڈیبگ کریں۔