Base64 شناخته شده ترین و معروف ترین روش کدگذاری کردن، برای تبدیل داده های باینری به ASCII و نمایش آن هاست. اما چرا ما از base64 استفاده می کنیم؟ الگوریتم کدگذاری کردن base64 چیست و دقیقا چگونه کار می کند؟
چرا ما از base64 استفاده می کنیم؟
به این دلیل که بسیاری از سیستم ها، داده های باینری را آن گونه که باید نمایش نمی دهند، ما از base64 استفاده می کنیم. سیستم هایی که بر مبنای متن پایه گذاری شده اند، از این دسته اند. برای مثال در ابتدای کار mail، پروتکلی برای ارسال فایل به همراه ایمیل نبود و باید داده های باینری به متن تبدیل و سپس ارسال می شدند. یکی از گزینه های محبوب برای رفع این مشکل استفاده از base64 است.
شیوه ی base64 کدگذاری کردن
بگذارید الگوریتم کدگذاری کردن را با یک مثال یاد بگیریم. کلمه ی sokanacademy را در نظر می گیریم. هر کاراکتر یک نمایش باینری هشت بیتی دارد. در شکل زیر ما نمایش باینری هر کدام از حرف های آن را نشان داده ایم.
برای مثال حرف s مقداری برابر ۱۱۵ در جدول ASCII (بر مبنای ۱۰) دارد، که نمایش باینری آن به صورت 01110011 است.
در مرحله ی بعد نمایش باینری کاراکترها را کنار هم قرار می دهیم و آن ها را به صورت گروه های شش تایی در می آوریم. در شکل زیر می توانید این دسته بندی را ببینید.
اکنون هر گروه شش تایی را که به صورت باینری هستند، به مبنای ۱۰ تبدیل می کنیم.
حال می توانیم با استفاده از جدول base64 این اعداد را ترجمه کنیم و به base64 کدگذاری شده ی sokanacademy برسیم. جدول base64 به صورت زیر است.
با استفاده از جدول بالا به عبارت c29rYW5hY2FkZW15 می رسیم که مقدار base64 کدگذاری شده ی sokanacademy است.
نکته های پایانی
در مرحله ی دسته بندی گروه های شش تایی بیت ها، ممکن است برای آخرین گروه بیت کم بیاوریم. در این حالت به تعداد مورد نیاز برای شکل گیری آخرین گروه به انتهای بیت ها صفر اضافه می کنیم.
همچنین به صورت قراردادی، تعداد کاراکتر نتیجه باید مضربی از ۴ باشد. به این منظور اگر برای مثال، نتیجه ی ما ۳ کاراکتر دارد به انتهای این رشته کاراکتر یک = اضافه می کنیم تا ۴ کاراکتر شود.
امیدوارم که این مقاله براتون مفید بوده باشد و سوال ها و نظرهایتان را در قسمت نظرات زیر این مقاله با من در میان بگذارید. همچنین می توانید برای تمرین، کلمه ی laravel را base64 کدگذاری کنید و در قسمت کامنت ها بنویسید.