ממיר חינם

מקודד Base64 / מפענח

קודד טקסט או קבצים ל-Base64 ופענח מחרוזות Base64 באופן מיידי בדפדפן שלך. חינם, פרטי וללא צורך בהעלאה.

אודות כלי זה

Base64 היא ערכת קידוד המייצגת נתונים בינאריים כטקסט ASCII תוך שימוש ב-64 תווים הניתנים להדפסה: A-Z, a-z, 0-9, פלוס (+), ולוכסן (/), עם שווים (=) המשמשים לריפוד. הפורמט תוכנן במקור כדי לגרום לקבצים מצורפים בינאריים לשרוד העברות דוא"ל נקיות של 7 סיביות, אך הוא התרחב לעשרות שימושים כיום: כתובות אתרים של נתונים ב-HTML, JSON המכילים נתוני תמונה, מטענים של JWT, כותרות אימות בסיסיות וכל פרוטוקול מבוסס טקסט שצריך לשאת בתים.

הקידוד לוקח 3 בתים של קלט ומפיק 4 תווי ASCII של פלט. לכן הפלט ארוך ב-33% מהקלט - שהוא העלות של התאמת בינארי לפורמט בטוח לטקסט. פענוח הופך את התהליך בדיוק, ומשחזר את הבייטים המקוריים מהטקסט המקודד.

כלי זה מטפל בשני הכיוונים. מצב קידוד לוקח קלט טקסט (או קובץ בינארי באמצעות העלאה) ומייצר טקסט base64. מצב פענוח לוקח טקסט base64 ומפיק את הטקסט המקורי או הבינארי להורדה. גרסה בטוחה לכתובת URL (באמצעות - ו-_ במקום + ו-/) נתמכת עבור אסימונים ומזהים.

למה להשתמש ב-Base64

Base64 היא הדרך הסטנדרטית להטמעת נתונים בינאריים בהקשרים של טקסט בלבד. תמונות מוטבעות ב-HTML משתמשות בכתובות URL של נתונים (data:image/png;base64,...) כך שאייקון קטן יכול לשלוח עם הדף ללא בקשה נפרדת. מטענים של JSON הנושאים תמונות, אישורים או חתימות מקודדים אותם כמחרוזות base64. אסימוני JWT הם שלושה מקטעים מקודדים ב-base64 המופרדים על ידי נקודות.

Base64 גם מנרמל את הטיפול בתווים עבור פרוטוקולים שמטפלים בצורה לא נכונה בבינארי של 8 סיביות. כותרות אימות (אימות בסיסי משתמש ב-base64), קבצי דוא"ל מצורפים, קובצי תצורה המכילים מפתחות וממשקי API רבים דורשים base64 מכיוון שבינארי לא יכול לעבור דרך הצינורות שלהם בצורה מהימנה.

כיצד להשתמש

הדבק נתונים, בחר כיוון.

  1. בחר קידוד או פענוח: Encode מייצר טקסט base64 מקלט בינארי או טקסט. פענוח הופך את התהליך.
  2. הוסף קלט: לקידוד, הדבק טקסט או העלה קובץ בינארי. לפענוח, הדבק טקסט base64. הכלי מזהה גרסה בטוחה לכתובת URL באופן אוטומטי.
  3. המרה: הדפדפן משתמש ב-btoa לקידוד וב-atob לפענוח (עם טיפול ב-UTF-8 עבור טקסט שאינו ASCII). הפלט הוא מדויק ודטרמיניסטי.
  4. העתק או הורד: ניתן להטמיע טקסט מקודד בכתובות URL, JSON, כתובות HTML של נתוני HTML או כל פרוטוקול מבוסס טקסט. הורדות בינאריות מפוענחות כקובץ עם ניחוש של הסיומת המתאימה בהתבסס על סוג הקובץ שזוהה.

מקרי שימוש נפוצים

פרטים טכניים

Base64 ממפה כל 6 ביטים של קלט לאחד מ-64 תווי פלט. שלושה בתים קלט (24 סיביות) מייצרים ארבעה תווי פלט. כאשר אורך הקלט אינו כפולה של 3, המקודד מוסיף סימן שווה אחד או שניים כדי לרפד את הפלט לכפולה של 4 תווים.

URL-safe base64 (מוגדר ב-RFC 4648 סעיף 5) מחליף את + ב- ו/ב-_ כדי לייצר מחרוזות בטוחות לשימוש בכתובות URL ושמות קבצים מבלי לברוח נוסף. סימני השווה של ריפוד מושמטים לפעמים בהקשרים בטוחים בכתובות אתרים; מפענחים בדרך כלל מקבלים את שתי הצורות.

btoa ו-atob של JavaScript מטפלים ישירות ב-ASCII אך נכשלים במחרוזות שאינן ASCII. עבור טקסט UTF-8, הממיר משתמש ב-TextEncoder/TextDecoder כדי להמיר בין טקסט לבינארי, ואז base64-מקודד את הבינארי. זה מטפל בצורה נכונה באימוג'י, בתווים מודגשים ובסקריפטים שאינם לטיניים.

שיטות עבודה מומלצות

שאלות נפוצות

למה משמש קידוד Base64?
Base64 ממיר נתונים בינאריים לטקסט ASCII. שימושים נפוצים כוללים הטמעת תמונות ב-HTML (נתונים URIs), קידוד קבצים מצורפים לדוא"ל, העברת נתונים בינאריים בממשקי API של JSON ואחסון כתמים בינאריים במסדי נתונים מבוססי טקסט.
האם קידוד Base64 מצפין את הנתונים שלי?
מס'. Base64 הוא קידוד, לא הצפנה. כל אחד יכול לפענח מחרוזת Base64. זה נועד להעברת נתונים בטוחה, לא אבטחה. השתמש בהצפנה בפועל (AES, RSA) עבור נתונים רגישים.
מדוע Base64 מגדיל את גודל הקובץ?
Base64 מייצג כל 3 בתים של קלט כ-4 תווי ASCII, מה שמביא לגידול של כ-33% בגודל. זהו הפשרה ליכולת להטמיע בבטחה נתונים בינאריים בפורמטים של טקסט.
האם אני יכול לקודד תמונות ל-Base64?
כן. העלה קובץ תמונה והכלי יפיק מחרוזת Base64 שבה תוכל להשתמש בתור נתונים URI (data:image/png;base64,...) ב-HTML או CSS.
האם אסימוני JWT הם base64?
כן - JWT מורכב משלושה מקטעים מקודדים ב-base64url מופרדים בנקודות. הראשון הוא הכותרת, השני הוא המטען, השלישי הוא החתימה.
האם הנתונים שלי מועלים לשרת?
לא. קידוד ופענוח מתרחשים בדפדפן שלך באמצעות btoa, atob, TextEncoder ו-TextDecoder.
מה הגודל המקסימלי?
עד 50 מגה-בייט. זיכרון הדפדפן מגביל את הגודל המעשי עבור כניסות גדולות מאוד.
מדוע הפלט המפוענח שלי נראה כמו זבל?
סביר להניח שהמקור היה בינארי, לא טקסט. עבור למצב הורדת קבצים כדי לקבל את הקובץ הבינארי, או בדוק שהקלט הוא למעשה טקסט מקודד base64 ולא בינארי.