post
images

فرض کنید شما یک داده ی باینری دارید و می خواهید آن را در بستر شبکه انتقال دهید. به طور کلی شما این کار را تنها از طریق Stream کردن بیت ها و بایت های خام انجام نخواهید داد. چرا؟ زیرا ابزارهایی برای Stream کردن متن وجود دارد. شما هرگز اطلاع ندارید که برخی از پروتکل ها ممکن است داده های باینری شما را به عنوان کاراکترهای کنترلی تفسیر کنند ( درست به مانند یک مودم) و یا برخی دیگر از پروتکل ها همانند FTP ممکن است تصور کنند که شما یک کاراکتر خاص مانند ending را وارد کرده اید.

mccaffrey-fig3

بنابراین برای مقابله با این مشکلات داده های باینری را به رشته ای از کاراکترها کد گذاری (encode) می کنند. Base64 یکی از انواع این گونه کد گذاری می باشد. چرا Base64؟ زیرا با استفاده از آن شما می توانید همواره بر ۶۴ کاراکتری که در اغلب مجموعه کاراکترها (character set) ارائه می شود حساب کنید و بنابراین از نحوه ی صحیح نمایش داده های خود در سمت گیرنده اطمینان بیشتری کسب کنید.

استفاده از Base64 برای طراحان وب کاربردهای بسیار مفیدی دارد. بعنوان مثال می توان برای جلوگیری از ارسال یک Request اضافه از سمت Client آیکون معروف به Favicon را به جای فایل درون تگ جاسازی نمود که در زیر نمونه آن را می بینیم:

<link href="data:image/png;base64,iVBORw0KGgoAAAANSUhEU. ..." rel="icon" type="image/x-icon">

حتماً این سوال برایتان به وجود می آید که در مثال بالا چطور می توانید یک تصویر را به Base64 تبدیل کنید. برای این کار راه های مختلفی وجود دارد ولی یکی از در دسترس ترین راه ها استفاده از اپلیکیشن های آنلاین است که در زیر یکی از آنها را می توانید ملاحظه کنید:

https://www.base64-image.de/