ابزار تبدیل Base64
نکات آموزشی
اصل encoding در Base64
Base64 با 64 نویسه A-Z، a-z، 0-9، + و / متن را encode می کند. ایده اصلی این است که هر سه byte هشت بیتی به چهار گروه شش بیتی شکسته شود و هر گروه به جدول Base64 نگاشت شود.
- a: 0110 0001
- b: 0110 0010
- 2: 0011 0010
نگاشت index در Base64
- Y: 0110 00
- W: 0101 10
- I: 0010 00
- y: 1100 10
پیش از گروه بندی: 0110 0001، 0110 0010، 0011 0010 که همان a، b و 2 هستند.
پس از گروه بندی: 0110 00، 0101 10، 0010 00، 1100 10 که به Y، W، I و y نگاشت می شوند.
پس Base64 برای ab2 برابر YWIy است.
چرا خروجی Base64 حدود 4/3 اندازه اصلی است؟
یک byte به 8 bit نیاز دارد اما Base64 داده را به واحدهای 6 bit تقسیم می کند. هر واحد 6 bit هنگام ذخیره دوباره تا 8 bit تکمیل می شود.
بعد از padding، 24 bit اصلی به 32 bit تبدیل می شود، بنابراین خروجی حدود 4/3 اندازه داده اصلی است.
تفاوت Base64url و Base64
در Base64 استاندارد، + و / داخل URL به %2B و %2F تبدیل می شوند و URL طولانی تر می شود. Base64url از A-Z، a-z، 0-9، - و _ استفاده می کند تا متن برای URL مناسب باشد.
