Base64 یک سیستم اعداد موقعیتی با پایه 64 نویسه ASCII (کد استاندارد آمریکایی برای تبادل اطلاعات) قابل چاپ است. این سیستم به عنوان مثال برای ارائه فایل های باینری در ایمیل استفاده می شود. همه انواع Base64 از کاراکترهای A-Z، a-z و 0-9 استفاده می کنند، در مجموع 62 کاراکتر، دو کاراکتر از دست رفته با کاراکترهای مختلف در سیستم های پیاده سازی جایگزین می شوند. هر سه بایت اصلی با چهار کاراکتر کدگذاری می شوند.
تاریخچه Base64
در ابتدا، فقط متن از طریق ایمیل (RFC 822) قابل ارسال بود. به مرور زمان در کنار متن نیاز به انتقال فایل های صوتی، تصویری و گرافیکی، اپلیکیشن ها و... بود که نیاز به تبدیل فایل باینری به متن بود. Base64 به رمزگذاری UUE موجود (Uuecode) اضافه شد که در مشخصات MIME (افزونههای ایمیل چند منظوره اینترنتی) (RFC 2045-2049) استفاده میشود.
MIME استانداردی برای توصیف هدر در پیام های الکترونیکی است. استفاده از آن به شما امکان می دهد چندین پیوست را در یک حرف ارسال کنید، به عنوان مثال، فایل های آرشیو شده و متنی یا صفحات HTML. یک برنامه ایمیل آگاه MIME آزادانه آرشیو را از یک فایل متنی استخراج می کند، پیام را نمایش می دهد و تگ های HTML را تجزیه می کند. به عنوان مثال، Outlook Express به طور خودکار اسکریپت های تعبیه شده در یک صفحه HTML را اجرا می کند.
Base64 در دوران بایت های هفت، شش و سه بیتی متولد شد. رمزگذاری های قدیمی از استاندارد هشت بیتی پشتیبانی نمی کردند، به همین دلیل، بخشی از اطلاعات هنگام انتقال از سیستم قدیمی به سیستم جدید از بین می رفت. اغلب، هنگام ارسال نامه، سرور ایمیل یک بیت اضافی، هشتم، حذف می کند یا ویدیو و تصاویر را ارسال نمی کند. برای از بین بردن چنین مشکلاتی، رمزگذاری هایی برای تبدیل کد باینری به متن ایجاد شد. محبوب ترین و موثرترین سیستم Base64 است که به دلیل سادگی در همه جا استفاده می شود.
الگوریتمی به نام "رمزگذاری برای چاپ" برای اولین بار در سال 1987 توصیف شد، Base64 در ژوئن 1992 ظاهر شد. نسخه های این سیستم Base16، Base32، Base36، Base58، Base85، Base91 و Base122 می باشد. استانداردهای بعدی به طور فعال در زمینه IT استفاده می شود.
حقیقت جالب
برخی از سیستم ها از Base58 برای رمزگذاری URL ها استفاده می کنند که با Base64 به دلیل عدم وجود کاراکترها در متن نهایی که می تواند به طور مبهم توسط شخص درک شود متفاوت است. 0 (صفر)، O (لاتین بزرگ o)، I (لاتین بزرگ i)، l (L لاتین کوچک) حذف می شوند. همچنین کاراکترهای + (plus) و / (slash) مستثنی میشوند، که هنگام رمزگذاری یک URL، میتوانند به تفسیر نادرست آدرس منجر شوند.
Base64 رمزگذاری برگشت پذیر و قابل بازیابی را ارائه می دهد. این سرویس کاراکترهای جدول کد هشت بیتی را به کاراکترهایی ترجمه می کند که در حین انتقال اطلاعات در شبکه ها و بین دستگاه ها حفظ می شوند.