מקודד ומפענח Base64
המרת טקסט וקבצים ל-Base64 ובחזרה. מטפל נכון ב-Unicode, תומך ב-base64url הבטוח ל-URL, ומסביר בדיוק למה קלט לא תקין נכשל.
רץ בדפדפן שלכםבלי הרשמהשום דבר לא מועלה
איך משתמשים בכלי קידוד ופענוח Base64
- בחרו קידוד או פענוח.
- הקלידו או הדביקו את הקלט. התוצאה מתעדכנת תוך כדי הקלדה.
- עבור כתובות URL, JWT ושמות קבצים, סמנו בטוח ל-URL כדי להשתמש ב-
-וב-_, ואם תרצו, השמיטו את הריפוד=. - כדי להטמיע תמונה או גופן, לחצו על קידוד קובץ והשאירו את פלט כ-data URI מסומן.
- העתיקו את התוצאה, או השתמשו בהחלפה כדי להזין אותה בחזרה בכיוון ההפוך.
איך Base64 עובד
Base64 מייצג נתונים בינאריים באמצעות 64 תווי ASCII ניתנים להדפסה: A-Z, a-z, 0-9, + ו-/. כל 3 בתים של קלט הופכים ל-4 תווים, ולכן הנתונים המקודדים גדולים בכ-33%. כשאורך הקלט אינו כפולה של 3, סימן = אחד או שניים מרפדים את הפלט. Base64 הוא קידוד, לא הצפנה: כל אחד יכול לפענח אותו.
Base64 רגיל לעומת base64url
לתווים + ו-/ יש משמעות מיוחדת בכתובות URL ובנתיבי קבצים. האלפבית הבטוח ל-URL מתוך RFC 4648 §5 מחליף אותם ב-- וב-_ ובדרך כלל משמיט את הריפוד. JWT, פרמטרים רבים של OAuth וחלק מממשקי ה-API בענן משתמשים ב-base64url. המפענח כאן מקבל את שני האלפביתים באופן אוטומטי.
Unicode והמלכודת של btoa()
בדפדפנים, btoa("café") עובד אבל btoa("日本") זורק שגיאה, כי btoa מקבל רק Latin-1. הדרך הנכונה היא לקודד קודם את הטקסט לבתים של UTF-8, וזה בדיוק מה שהכלי הזה עושה. ב-JavaScript: btoa(String.fromCharCode(...new TextEncoder().encode(text))), או Buffer.from(text).toString('base64') ב-Node.js.
שימושים נפוצים
- Data URI לתמונות וגופנים קטנים ב-CSS או ב-HTML
- כותרות אימות HTTP Basic (
user:passwordמקודד) - קבצים מצורפים בינאריים במטעני JSON ובדואר אלקטרוני (MIME)
- Kubernetes Secrets, ששומרים ערכים כ-Base64