پرش به محتوا

ابزار تبدیل 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 مناسب باشد.

سپاسگزاری