Base64 انکوڈر اور ڈی کوڈر کی رہنمائی: UTF-8، Base64url اور خرابیاں
ToolMellow ·
Base64 بائٹس کو قابلِ طباعت حروف کے ایک مختصر مجموعے سے ظاہر کرتا ہے۔ متن انکوڈ کرنے کے لیے ToolMellow پہلے درست ساخت والے Unicode کو UTF-8 بائٹس میں بدلتا ہے؛ ڈی کوڈ کرتے وقت ضروری ہے کہ یہ بائٹس درست UTF-8 متن بنائیں۔ اِن پٹ پیسٹ کریں، معیاری یا URL کے لیے محفوظ Base64 منتخب کریں، پھر «انکوڈ کریں» یا «ڈی کوڈ کریں» دبائیں۔ تبدیلی آپ کے براؤزر میں مقامی طور پر ہوتی ہے۔
یہ رہنمائی اس ٹیکسٹ ٹول کے قبول کردہ فارمیٹ کی درست تفصیل، مفید مثالیں اور عام خرابیاں بیان کرتی ہے۔ Base64 قابلِ واپسی انکوڈنگ ہے، انکرپشن یا کمپریشن نہیں۔ کامیاب تبدیلی کسی ٹوکن کی صداقت ثابت نہیں کرتی، پاس ورڈ محفوظ نہیں بناتی اور فائل کے بے ضرر ہونے کا ثبوت نہیں دیتی۔ نیچے دی گئی مثالیں مقررہ وضاحتیں ہیں، آپ کے ڈیٹا کی پیمائش نہیں۔
متن انکوڈ یا ڈی کوڈ کرنے کا طریقہ
Base64 انکوڈر اور ڈی کوڈر کھول کر متن یا انکوڈ شدہ سلسلہ پیسٹ کریں۔ معیاری حروف کے لیے URL کے لیے محفوظ Base64 کا اختیار بند رکھیں، یا اگر وصول کرنے والے فارمیٹ کو Base64url درکار ہے تو اسے فعال کریں۔ «انکوڈ کریں» پورے اِن پٹ کو Base64 میں بدلتا ہے؛ «ڈی کوڈ کریں» اسے واپس UTF-8 متن میں بدلتا ہے۔ صرف ٹائپ کرنے سے تبدیلی نہیں چلتی۔
«نتیجہ کاپی کریں» یا «ڈاؤن لوڈ کریں» استعمال کرنے سے پہلے نتیجہ پڑھیں۔ «نتیجے کو اِن پٹ کے طور پر استعمال کریں» ایڈیٹر کا متن ایسے نتیجے سے بدلتا ہے جو اِن پٹ کی حد کے اندر ہو؛ پھر آپ واپسی جانچ کے لیے مخالف عمل منتخب کر سکتے ہیں۔ اِن پٹ یا تبدیلی کے اختیارات بدلنے سے پرانا نتیجہ غیر مؤثر ہو جاتا ہے۔ «سطریں لپیٹیں» صرف دکھائی دینے والی سطروں کی ترتیب بدلتا ہے، انکوڈ شدہ حروف نہیں بدلتا اور نئی سطر کے حروف شامل نہیں کرتا۔
- ایپ کی قدر کی خرابی تلاش کرنے سے پہلے
fooاورZm9vجیسی معلوم مثال آزمائیں۔ - ایپ کو درکار حروف کا مجموعہ چنیں؛ صرف مشترک حروف اور ہندسے یہ ظاہر نہیں کرتے کہ سلسلہ کون سی صورت استعمال کرتا ہے۔
- بائٹ بہ بائٹ یکسانیت اہم ہو تو اصل محفوظ رکھیں۔ متن درآمد کرنے، حرفی انکوڈنگ اور اضافی نئی سطروں سے انکوڈ ہونے والا مواد بدل سکتا ہے۔
Base64 بائٹس کے ساتھ کیا کرتا ہے؟
Base64 تین بائٹس کے ہر گروپ کو چھ بٹس والی چار قدروں میں تقسیم کرتا ہے، پھر انہیں حروف کے مجموعے کے حروف سے ملاتا ہے۔ آخری مختصر گروپ کو خاص طریقے سے سنبھالنا ہوتا ہے اور اس میں پیڈنگ ہو سکتی ہے۔ دکھائی دینے والے حروف اِن پٹ بائٹس کی نمائندگی ہیں، نئی زبان یا خفیہ کلید نہیں۔
معیاری حروف کی ان مثالوں میں خالی متن اور ایک، دو اور تین ASCII بائٹس کی آخری گروپ کی مثالیں شامل ہیں۔ انکوڈ کیے جانے والے متن کی خالی جگہیں اور نئی سطریں حقیقی بائٹس ہیں اور نتیجہ بدلتی ہیں۔ اسی کینونیکل انکوڈنگ کو ڈی کوڈ کرنے سے ان حروف سمیت اصل UTF-8 متن واپس ملتا ہے۔
| UTF-8 متن | معیاری Base64 |
|---|---|
| خالی متن | خالی متن |
f | Zg== |
fo | Zm8= |
foo | Zm9v |
Hello | SGVsbG8= |
😀 | 8J+YgA== |
معیاری Base64 اور Base64url کا فرق
دونوں صورتیں حروف اور ہندسے استعمال کرتی ہیں۔ معیاری Base64 حروف کے مجموعے کی آخری دو علامتوں کے لیے + اور / استعمال کرتا ہے؛ Base64url میں - اور _ ہوتے ہیں۔ ToolMellow معیاری موڈ میں ضرورت کے مطابق آخر میں = شامل کرتا ہے، اور URL کے لیے محفوظ موڈ میں اسے حذف کرتا ہے۔ مثال کے طور پر اوپر کا ایموجی محفوظ موڈ میں 8J-YgA بنتا ہے۔
ڈی کوڈر صرف منتخب حروف کا مجموعہ قبول کرتا ہے۔ دونوں موڈ بغیر پیڈنگ یا درست جگہ پر اختیاری پیڈنگ والا اِن پٹ قبول کرتے ہیں۔ Base64url بذاتِ خود ہر جگہ پیڈنگ کو ممنوع نہیں کرتا؛ اسے استعمال کرنے والا پروٹوکول طے کرتا ہے کہ پیڈنگ لازم، جائز یا حذف شدہ ہو۔ مطلوبہ فارمیٹ منتخب کریں، یہ فرض نہ کریں کہ ہر URL یا ٹوکن ایک ہی قاعدہ استعمال کرتا ہے۔
| خصوصیت | معیاری موڈ | URL کے لیے محفوظ موڈ |
|---|---|---|
| حروف کے مجموعے کی آخری علامتیں | + اور / | - اور _ |
| ToolMellow انکوڈنگ کی پیڈنگ | ضرورت پر شامل | حذف شدہ |
| ToolMellow ڈی کوڈنگ کی پیڈنگ | درست پیڈنگ یا بغیر پیڈنگ | درست پیڈنگ یا بغیر پیڈنگ |
| دونوں صورتوں کی ملی ہوئی علامتیں | مسترد | مسترد |
Unicode، ایموجی اور UTF-8 ڈی کوڈنگ
متن UTF-8 کے ذریعے تبدیل ہوتا ہے، اس لیے اعراب والے حروف، چینی، عربی اور ایموجی درست Unicode اِن پٹ کی صورت میں واپس اصل متن بن سکتے ہیں۔ JavaScript کے متن کی لمبائی UTF-16 کوڈ یونٹس گنتی ہے؛ UTF-8 بائٹس کی تعداد الگ ہوتی ہے۔ ایموجی 😀 دو UTF-16 یونٹس مگر چار UTF-8 بائٹس لیتا ہے، جن سے پیڈنگ سمیت آٹھ Base64 حروف بنتے ہیں۔
انکوڈنگ بغیر جوڑے والے Unicode surrogate کو مسترد کرتی ہے۔ ڈی کوڈنگ خراب بائٹس کو خاموشی سے بدلنے کے بجائے غیر درست UTF-8 مسترد کرتی ہے۔ انکوڈ شدہ UTF-8 کے آغاز کی BOM علامت ڈی کوڈ شدہ متن میں U+FEFF کے طور پر برقرار رہتی ہے؛ ایڈیٹر میں یہ نظر نہ بھی آئے۔ درست متن میں کنٹرول حروف یا Unicode نارملائزیشن کی مختلف شکلیں بھی ہو سکتی ہیں۔ Base64 متن کو نارملائز نہیں کرتا اور اسے چلانا محفوظ نہیں بناتا۔
RFC 3629: UTF-8 حرفی انکوڈنگWHATWG Encoding: TextEncoder، TextDecoder اور BOM سنبھالناECMAScript: متن کی لمبائی اور isWellFormed
پیڈنگ، خالی جگہیں اور غیر استعمال شدہ بٹس
آخر میں زیادہ سے زیادہ دو = حروف کی پیڈنگ ہو سکتی ہے، اور پیڈنگ سمیت لمبائی چار سے بلا باقی تقسیم پذیر ہونی چاہیے۔ ڈی کوڈر درست آخری گروپ والا بغیر پیڈنگ اِن پٹ بھی قبول کرتا ہے، لیکن باقی لمبائی ایک ہو تو اس سے مکمل بائٹ نہیں بن سکتا۔ Zg== اور Zg دونوں f بنتے ہیں؛ Zg= غیر درست ہے۔ خالی اِن پٹ کا درست نتیجہ خالی ہوتا ہے۔
ڈی کوڈ کرنے سے پہلے ToolMellow صرف TAB، LF، CR اور SPACE ہٹاتا ہے۔ فارم فیڈ، عمودی ٹیب، نہ ٹوٹنے والی خالی جگہ اور Unicode کی دیگر خالی جگہیں مسترد ہوتی ہیں۔ اصل اِن پٹ کی حد ان حروف کو ہٹانے سے پہلے جانچی جاتی ہے۔ اس لیے اس کا رویہ تمام خالی جگہیں نظر انداز کرنے کے عام وعدے سے محدود ہے۔
اس ٹول میں آخری انکوڈنگ حرف کے غیر استعمال شدہ بٹس صفر ہونے چاہییں۔ ٹول جانچتا ہے کہ ڈی کوڈ شدہ بائٹس دوبارہ انکوڈ کرنے پر، فارمیٹ یکساں کرنے اور پیڈنگ ہٹانے کے بعد، اِن پٹ سے ملتی ہیں۔ Zh== مسترد ہوتا ہے، اگرچہ نرم قواعد والا ڈی کوڈر اس سے وہی بائٹ دے سکتا ہے جو کینونیکل Zg== دیتا ہے۔ RFC 4648 اس زیادہ سخت جانچ کی اجازت دیتا ہے؛ کسی دوسرے ڈی کوڈر کی قبولیت کینونیکل اِن پٹ کا ثبوت نہیں۔
RFC 4648: Base64، Base64url، پیڈنگ اور کینونیکل انکوڈنگWHATWG Infra: نرم قواعد والی Base64 ڈی کوڈنگWHATWG HTML: atob اور btoa
Base64 سے حجم کتنا بڑھتا ہے، اور کیا حد میں آتا ہے؟
اِن پٹ کے n بائٹس کے لیے پیڈنگ سمیت Base64 کی لمبائی 4 × ceil(n / 3) حروف ہے۔ صفر بائٹس سے صفر حروف؛ ایک بائٹ سے چار، دو سے چار اور تین سے چار بنتے ہیں۔ بڑے اِن پٹ کے لیے اضافی حجم ایک تہائی کے قریب پہنچتا ہے، لیکن ہر قدر کے لیے بالکل 33% نہیں ہوتا۔ بغیر پیڈنگ URL کے لیے محفوظ نتیجہ، جہاں لاگو ہو، آخری ایک یا دو پیڈنگ حروف ہٹاتا ہے۔
حجم کے فارمولے میں UTF-8 بائٹس اور ایڈیٹر کی حد کے لیے UTF-16 کوڈ یونٹس گنیں۔ ٹول ڈی کوڈنگ کی خالی جگہیں ہٹانے سے پہلے اِن پٹ میں 1,000,000 کوڈ یونٹس تک کی اجازت دیتا ہے۔ نتیجے پر یہی حد لاگو نہیں ہوتی: دس لاکھ ASCII بائٹس سے پیڈنگ سمیت 1,333,336 حروف بنتے ہیں۔ کاپی اور ڈاؤن لوڈ چلتے رہتے ہیں، مگر «نتیجے کو اِن پٹ کے طور پر استعمال کریں» اِن پٹ کی حد سے بڑا نتیجہ نہیں لا سکتا۔
| حد | اصل حد یا رویہ |
|---|---|
| ایڈیٹر اور تبدیلی کا اِن پٹ | 1,000,000 UTF-16 کوڈ یونٹس تک |
| مقامی فائل کا بائٹ حجم | لازماً 4,000,000 بائٹس سے کم |
| درآمد شدہ متن کی لمبائی | 1,000,000 UTF-16 کوڈ یونٹس تک |
| انکوڈ شدہ نتیجہ | اِن پٹ حد سے بڑا ہو سکتا ہے؛ کاپی اور ڈاؤن لوڈ دستیاب رہتے ہیں |
RFC 4648: Base64، Base64url، پیڈنگ اور کینونیکل انکوڈنگWHATWG Encoding: TextEncoder، TextDecoder اور BOM سنبھالناECMAScript: متن کی لمبائی اور isWellFormed
متن کی فائل کھولنا بائنری فائل انکوڈ کرنا نہیں
فائل منتخب کرنے کا کنٹرول مقامی فائل کو File.text() کے ذریعے UTF-8 متن کے طور پر پڑھتا ہے۔ 4,000,000 بائٹس یا اس سے بڑی فائل مسترد ہوتی ہے؛ پڑھنے کے بعد 1,000,000 UTF-16 یونٹس سے لمبا متن بھی مسترد ہوتا ہے۔ ایپ یہ تبدیلی کرنے کے لیے فائل اپ لوڈ نہیں کرتی۔ فائل کے نام کی توسیع اس کے بائٹس کے UTF-8 متن ہونے کا ثبوت نہیں۔
فائل کو عام طریقے سے متن کے طور پر پڑھنے سے آغاز کا UTF-8 BOM ہٹ جاتا ہے اور خراب UTF-8 سلسلے بدل دیے جاتے ہیں۔ انکوڈنگ سے پہلے اس سے اصل بائٹس بدل سکتے ہیں۔ یہ Base64 ڈی کوڈر سے مختلف ہے، جو خراب UTF-8 مسترد کرتا اور ڈی کوڈ شدہ U+FEFF برقرار رکھتا ہے۔ تصاویر، PDF، کسی بھی بائٹس یا بالکل اصل بائٹس والی فائل کی بازیابی کے لیے موزوں صورت میں الگ Base64 سے فائل ٹول استعمال کریں؛ یہ ٹیکسٹ ورک اسپیس خام بائنری فائل کا انکوڈر نہیں۔
W3C File API: Blob کو متن کے طور پر پڑھناWHATWG Encoding: TextEncoder، TextDecoder اور BOM سنبھالنا
میرا Base64 اِن پٹ غیر درست کیوں ہے؟
پہلے مطلوبہ فارمیٹ اور یہ طے کریں کہ قدر سے متن بننا چاہیے یا نہیں۔ نامعلوم حروف حذف کرتے رہنے کے بجائے ایپ کی لگائی ہوئی بیرونی ساخت کو سمجھ کر ہٹائیں۔ یہ ڈی کوڈر data URL کا پے لوڈ، ٹوکن کے حصے، اقتباسی علامتوں میں JSON متن یا HTML خود نہیں نکالتا۔ ان بیرونی ساختوں کے اپنے پارسنگ اور جانچ کے قواعد ہیں۔
اگر حروف کا مجموعہ اور ساخت درست ہیں مگر ڈی کوڈ شدہ بائٹس UTF-8 نہیں تو ڈیٹا بائنری فائل ہو سکتا ہے یا کوئی اور حرفی انکوڈنگ استعمال کر سکتا ہے۔ یہ ٹیکسٹ ٹول کے دائرے کی خرابی ہے، Base64 بائٹس کے خراب ہونے کا ثبوت نہیں۔ کلپ بورڈ دستیاب نہ ہو تو نتیجہ منتخب کر کے خود کاپی کریں۔ غیر تعاون یافتہ براؤزر یا مسدود ورکر بھی تبدیلی روک سکتا ہے؛ موجودہ تعاون یافتہ براؤزر استعمال کریں اور دکھائی گئی خرابی پڑھیں۔
| علامت | ممکنہ وجہ | اگلی مفید جانچ |
|---|---|---|
A | ناممکن آخری لمبائی | تصدیق کریں کہ پوری قدر کاپی ہوئی ہے |
Zg= | نامکمل پیڈنگ | درست پیڈنگ یا بغیر پیڈنگ اِن پٹ دیں |
Zh== | غیر استعمال شدہ بٹس صفر نہیں | اصل بنانے والے کو جانچیں؛ کینونیکل صورت Zg== ہے |
معیاری موڈ میں 8J-YgA | غلط حروف کا مجموعہ منتخب ہے | پروٹوکول تقاضا کرے تو URL کے لیے محفوظ موڈ چنیں |
/w== | ڈی کوڈ شدہ بائٹ غیر درست UTF-8 ہے | طے کریں کہ پے لوڈ بائنری ہے یا نہیں |
| غیر متوقع پوشیدہ حرف | ڈی کوڈ شدہ متن میں BOM یا کنٹرول حرف | نتیجہ دوبارہ استعمال کرنے سے پہلے کوڈ پوائنٹس دیکھیں |
RFC 4648: Base64، Base64url، پیڈنگ اور کینونیکل انکوڈنگRFC 3629: UTF-8 حرفی انکوڈنگ
Base64url، فیصدی انکوڈنگ اور data URLs
Base64url اور فیصدی انکوڈنگ الگ مسائل حل کرتے ہیں۔ فیصدی انکوڈنگ URL کے منتخب بائٹس کو % سلسلوں سے ظاہر کرتی ہے؛ Base64url مکمل بائٹ سلسلے کو اپنے حروف کے مجموعے سے ظاہر کرتا ہے۔ جمع کی علامت خاص طور پر application/x-www-form-urlencoded کی پارسنگ میں خالی جگہ بنتی ہے، ہر URL میں نہیں۔ اس الگ کام کے لیے URL انکوڈر اور ڈی کوڈر استعمال کریں۔
data URL میں data: اسکیم، اختیاری میڈیا ٹائپ اور پے لوڈ سے پہلے کوما ہوتا ہے، اور جہاں لاگو ہو Base64 کی علامت ہوتی ہے۔ پورا بیرونی حصہ اس ٹیکسٹ ڈی کوڈر میں پیسٹ کرنے پر حروف کی جانچ ناکام ہوتی ہے۔ موزوں ٹول سے مطلوبہ پے لوڈ پارس کریں اور دیکھیں کہ یہ متن ہے یا بائنری ڈیٹا۔ Base64 شامل شدہ اسکرپٹ، دستاویز یا ڈاؤن لوڈ شدہ فائل کو قابلِ اعتماد نہیں بناتا۔
WHATWG URL: فارم کی URL-انکوڈ شدہ پارسنگRFC 2397: data URL اسکیم
JWT کے حصے اور HTTP Basic پروٹوکول کا ڈیٹا ہیں
مختصر JWS میں نقطوں سے الگ تین حصے ہوتے ہیں؛ مختصر JWE میں پانچ۔ JWT کا متنی حصہ ڈی کوڈ کرنے سے JSON دکھ سکتا ہے، مگر اس سے دستخط کی تصدیق، انکرپٹ شدہ مواد کی ڈکرپشن، میعاد کی جانچ یا اجازت ثابت نہیں ہوتی۔ دستخط والا حصہ کسی بھی بائٹس پر مشتمل ہو سکتا ہے اور ضروری نہیں کہ UTF-8 متن بنے۔ اپنے ایپ میں ٹوکن کے اصل پروٹوکول اور باقاعدہ نگہداشت والی تصدیقی لائبریری پر عمل کریں۔
HTTP Basic کی اسناد یوزر نیم اور پاس ورڈ کے سلسلے کی Base64 نمائندگی استعمال کرتی ہیں، جس میں پروٹوکول کے مخصوص حرفی انکوڈنگ قواعد ہوتے ہیں۔ Base64 راز داری نہیں بڑھاتا۔ یہ UTF-8 ٹیکسٹ ٹول ثابت نہیں کرتا کہ اسناد ہر سرور کی تشریح سے مطابقت رکھتی ہیں۔ مثالوں میں حقیقی اسناد شائع نہ کریں، اور مطلوبہ محفوظ ٹرانسپورٹ اور تصدیقی طریقہ استعمال کریں۔
RFC 7515: JSON Web Signature کا مختصر سلسلہRFC 7516: JSON Web Encryption کا مختصر سلسلہRFC 7617: HTTP Basic تصدیق
Base64 انکرپشن، ہیشنگ یا کمپریشن نہیں
جس کے پاس Base64 قدر ہو وہ خفیہ کلید کے بغیر اس کی نمائندگی واپس بدل سکتا ہے۔ انکرپشن کے لیے کرپٹوگرافک طریقہ اور کلیدوں کا انتظام درکار ہے؛ ہیش مختلف مقاصد اور خصوصیات والا ڈائجسٹ بناتا ہے۔ پاس ورڈ کو Base64 میں بدلنا پاس ورڈ محفوظ کرنے کا موزوں طریقہ نہیں۔ الگ ہیش ٹول ڈائجسٹ بناتا ہے، پاس ورڈ ذخیرہ کرنے کا نظام یا انکرپشن کا متبادل نہیں۔
Base64 بائٹس کو کمپریس کرنے کے بجائے ان کا حجم بڑھاتا ہے۔ اس میں انکرپٹ، کمپریس یا دستخط شدہ بائٹس منتقل کیے جا سکتے ہیں، لیکن یہ خود وہ تحفظ پیدا نہیں کرتا۔ انکوڈنگ کی تہہ شامل کرنے سے پہلے ایپ کی ضرورت طے کریں، اور مشترک مثالوں، اسکرین شاٹس اور ڈاؤن لوڈ شدہ نتائج میں راز شامل نہ کریں۔
کاپی، ڈاؤن لوڈ، واپسی جانچ اور صاف کرنا
«ڈاؤن لوڈ کریں» نتیجہ toolmellow-result.txt میں UTF-8 متن کے طور پر محفوظ کرتا ہے۔ یہ بائنری فائل کی بحالی یا تبدیلی کی رپورٹ نہیں۔ کامیاب خالی نتیجے پر بھی «نتیجہ کاپی کریں» اور «ڈاؤن لوڈ کریں» فعال رہتے ہیں۔ سادہ جانچ کے لیے معلوم متن انکوڈ کریں، حد میں ہو تو نتیجہ اِن پٹ بنائیں، پھر اسی حروف کے مجموعے سے ڈی کوڈ کر کے اصل متن سے موازنہ کریں۔
«صاف کریں» اِن پٹ، نتیجہ، خرابیاں، تلاش اور متبادل متن اور ایڈیٹر کی ہسٹری ہٹاتا ہے، جبکہ URL کے لیے محفوظ موڈ اور سطریں لپیٹنے کے اختیارات برقرار رہتے ہیں۔ ورک اسپیس ریفریش یا بند کرنے سے میموری میں موجود کام کا ڈیٹا ختم ہو جاتا ہے؛ پہلے سے ڈاؤن لوڈ فائلیں آپ کے آلے پر رہتی ہیں۔ صاف کرنے سے براؤزر یا آپریٹنگ سسٹم کی میموری سے ڈیٹا کے تمام قابلِ بازیابی آثار مٹنے کی ضمانت نہیں ملتی۔
مقامی پروسیسنگ کا مطلب اور اس کی حدود
تبدیلی براؤزر ورکر میں چلتی ہے۔ ایپ پیسٹ شدہ متن، منتخب فائل کا مواد یا تبدیلی کے نتائج تبدیلی کے سرور کو نہیں بھیجتی۔ کام کا اِن پٹ موجودہ صفحے میں ہوتا ہے، اکاؤنٹ کی ہسٹری میں محفوظ نہیں ہوتا۔ ذخیرہ کرنے اور عارضی منتقلی کی مکمل تفصیل کے لیے سائٹ کا پرائیویسی صفحہ پڑھیں۔
ویب سائٹ لوڈ کرنے سے پھر بھی نیٹ ورک درخواستیں ہوتی ہیں۔ ہوسٹنگ کے نظام کو عام کنکشن اور درخواستوں کی معلومات ملتی ہیں، اور عوامی سائٹ صفحات کی آمد کے لیے Google Analytics استعمال کرتی ہے، جس میں کوکیز اور براؤزر اور آلے کی معلومات شامل ہوتی ہیں۔ مقامی تبدیلی گمنامی، صفر نیٹ ورک ٹریفک یا ہوسٹنگ میں صفر لاگنگ کا وعدہ نہیں۔ ڈاؤن لوڈ فائلیں اور آپ کی خود کاپی کی ہوئی قدر آپ کے اپنے عمل سے ورک اسپیس سے باہر جا سکتی ہیں۔
بیک لنک سمیت Base64 ٹول ویب صفحے میں شامل کریں
ٹول ورک اسپیس کے نیچے انضمام والا حصہ کھولیں، صفحے کی زبان چنیں، اور فراہم کردہ HTML کوڈ کاپی یا ڈاؤن لوڈ کریں۔ اسے ایسی HTML جگہ میں پیسٹ کریں جو بیرونی iframe اور اسکرپٹس کی اجازت دے۔ کوڈ میں ToolMellow ورک اسپیس کا iframe، اس کے سائز کا اسکرپٹ اور اسی زبان کے ToolMellow ٹول صفحے کا نظر آنے والا بیک لنک شامل ہے۔ یہ حوالہ دینے والا لنک برقرار رکھیں۔
شامل شدہ ٹول کا پیش نظارہ دیکھیں اور تنگ اسکرینیں جانچیں۔ اس میں متن کا دائرہ اور اِن پٹ کی حدود وہی ہیں؛ یہ دور سے تبدیلی کرنے والی API یا بائنری فائل کا انکوڈر نہیں۔ کلپ بورڈ تک رسائی براؤزر کی اجازت پر منحصر ہے، اور آپ کے پلیٹ فارم کو بیرونی وسائل کی اجازت دینی ہوگی۔ فراہم کردہ بیک لنک nofollow اور noopener استعمال کرتا ہے؛ اس کا ہونا تلاش میں بہتر درجہ بندی کی ضمانت نہیں۔
عام سوالات
متن کو Base64 میں کیسے انکوڈ کریں؟
درست ساخت والا Unicode متن پیسٹ کریں، معیاری یا URL کے لیے محفوظ موڈ چنیں اور «انکوڈ کریں» دبائیں۔ ToolMellow اسے UTF-8 بائٹس میں بدل کر مقامی طور پر انکوڈ کرتا ہے۔ نتیجے کا متن کاپی یا ڈاؤن لوڈ کریں۔
Base64 کو متن میں کیسے ڈی کوڈ کریں؟
مطابق حروف کا مجموعہ چنیں اور «ڈی کوڈ کریں» دبائیں۔ ٹول فارمیٹ اور غیر استعمال شدہ بٹس کے کینونیکل قواعد جانچ کر درست UTF-8 کا تقاضا کرتا ہے۔ درست اختیاری پیڈنگ اور بغیر پیڈنگ اِن پٹ قبول ہوتے ہیں؛ بائنری ڈیٹا متن کی جانچ میں ناکام ہو سکتا ہے۔
Base64 اور Base64url میں کیا فرق ہے؟
حروف کے مجموعے کی آخری دو علامتیں مختلف ہیں: معیاری میں + اور /؛ URL کے لیے محفوظ میں - اور _ ہیں۔ ToolMellow ضرورت پر معیاری پیڈنگ شامل اور محفوظ موڈ کی پیڈنگ حذف کرتا ہے۔ دونوں منتخب موڈ درست پیڈنگ یا بغیر پیڈنگ ڈی کوڈنگ اِن پٹ قبول کرتے ہیں۔
Base64 کے آخر میں برابر کی علامت کیوں ہوتی ہے؟
بائٹس کی تعداد تین سے بلا باقی تقسیم پذیر نہ ہو تو آخر کی ایک یا دو برابر کی علامتیں آخری چار حرفی گروپ مکمل کرتی ہیں۔ پیڈنگ فارمیٹ پر منحصر ہے؛ یہ ڈی کوڈر درست بغیر پیڈنگ صورت بھی قبول کرتا ہے۔
کیا Base64 ایموجی اور غیر لاطینی متن کو سپورٹ کرتا ہے؟
ہاں، UTF-8 کے ذریعے۔ ایموجی کے UTF-16 یونٹس اور UTF-8 بائٹس کی تعداد مختلف ہو سکتی ہے۔ انکوڈنگ بغیر جوڑے والے surrogate مسترد کرتی ہے، اور ڈی کوڈنگ خراب UTF-8 کو بدلنے کے بجائے مسترد کرتی ہے۔
Base64 سے حجم کتنا بڑھتا ہے؟
پیڈنگ سمیت لمبائی 4 × ceil(اِن پٹ بائٹس / 3) ہے۔ بڑے اِن پٹ کی اضافی مقدار ایک تہائی کے قریب ہوتی ہے، جبکہ چھوٹے اِن پٹ میں عدد کو اوپر کی صحیح قدر تک گول کرنے کا اثر ہوتا ہے۔ دکھائی دینے والے حروف کے بجائے UTF-8 بائٹس گنیں؛ بغیر پیڈنگ محفوظ نتیجہ آخر کی پیڈنگ ہٹاتا ہے۔
دوسرا ڈی کوڈر وہ قدر کیوں قبول کرتا ہے جسے ToolMellow مسترد کرتا ہے؟
ڈی کوڈرز حروف کے مجموعے، خالی جگہیں، پیڈنگ، غیر استعمال شدہ پیڈ بٹس اور متن کی حرفی انکوڈنگ کے قبول کردہ قواعد میں مختلف ہیں۔ ToolMellow منتخب حروف کے مجموعے کو قبول کرتا ہے، صرف TAB، LF، CR اور SPACE موجود ہوں تو انہیں ہٹاتا ہے، اور غیر استعمال شدہ بٹس صفر اور UTF-8 درست ہونے کا تقاضا کرتا ہے۔ دوسری جگہ نرم قبولیت کینونیکل اِن پٹ کا ثبوت نہیں۔
کیا یہاں PDF یا تصویر ڈی کوڈ کر سکتا ہوں؟
یہ ٹول UTF-8 متن دیتا ہے، کسی بھی فائل کے بائٹس نہیں۔ موزوں بائنری بحالی کے لیے الگ Base64 سے فائل ٹول استعمال کریں۔ یہاں مقامی فائل اِن پٹ متن پڑھتا ہے اور انکوڈ کرنے سے پہلے BOM ہٹا یا خراب UTF-8 بدل سکتا ہے۔
ڈی کوڈ کرتے وقت کون سی خالی جگہیں شامل کر سکتا ہوں؟
صرف TAB، LF، CR اور SPACE ہٹتے ہیں۔ فارم فیڈ، عمودی ٹیب، NBSP اور Unicode کی دیگر خالی جگہیں مسترد ہوتی ہیں۔ خالی جگہیں ہٹانے سے پہلے اصل اِن پٹ کی دس لاکھ UTF-16 یونٹس کی حد لاگو ہوتی ہے۔
کیا Base64 انکرپشن یا پاس ورڈ محفوظ رکھنے کا محفوظ طریقہ ہے؟
نہیں۔ Base64 کلید کے بغیر واپس بدلا جا سکتا ہے اور راز داری نہیں بڑھاتا۔ یہ انکرپشن، پاس ورڈ ہیش یا کمپریشن نہیں۔ تصدیقی ٹوکن ڈی کوڈ کرنے سے بھی اس کی تصدیق یا اجازت ثابت نہیں ہوتی۔
نتیجہ ڈاؤن لوڈ ہو سکتا ہے مگر اِن پٹ کیوں نہیں بن سکتا؟
انکوڈ شدہ نتیجہ دس لاکھ UTF-16 یونٹس کی اِن پٹ حد سے لمبا ہو سکتا ہے۔ کاپی اور ڈاؤن لوڈ دستیاب رہتے ہیں، مگر «نتیجے کو اِن پٹ کے طور پر استعمال کریں» بڑا نتیجہ مسترد کرتا ہے۔ دس لاکھ ASCII بائٹس سے پیڈنگ سمیت 1,333,336 حروف بنتے ہیں۔
کیا میں ٹول اپنے ویب صفحے میں شامل کر سکتا ہوں؟
ہاں۔ ورک اسپیس کے نیچے اسی زبان کا HTML کوڈ استعمال کریں، ToolMellow کا نظر آنے والا بیک لنک برقرار رکھیں، اور تصدیق کریں کہ پلیٹ فارم iframe اور سائز کے اسکرپٹ کی اجازت دیتا ہے۔ شامل شدہ ٹول کی متن کی حدود وہی ہیں، اور یہ سرور کی تبدیلی API نہیں۔
ذرائع اور مزید مطالعہ
- RFC 4648: Base64، Base64url، پیڈنگ اور کینونیکل انکوڈنگ
- RFC 3629: UTF-8 حرفی انکوڈنگ
- WHATWG Encoding: TextEncoder، TextDecoder اور BOM سنبھالنا
- ECMAScript: متن کی لمبائی اور isWellFormed
- WHATWG Infra: نرم قواعد والی Base64 ڈی کوڈنگ
- WHATWG HTML: atob اور btoa
- W3C File API: Blob کو متن کے طور پر پڑھنا
- WHATWG URL: فارم کی URL-انکوڈ شدہ پارسنگ
- RFC 2397: data URL اسکیم
- RFC 7515: JSON Web Signature کا مختصر سلسلہ
- RFC 7516: JSON Web Encryption کا مختصر سلسلہ
- RFC 7617: HTTP Basic تصدیق