MSMuhammad Shahid

כלי חינמי · רץ בדפדפן שלכם

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

קודדו טקסט ל־Base64 או פענחו Base64 חזרה לטקסט, כולל אמוג׳י ועברית, עם פורמט בטוח ל־URL לפי הצורך.

תשובה קצרה

Base64 הופך כל מידע לטקסט שבנוי מ־64 תווים בטוחים, כדי שיעבור במערכות שמטפלות רק בטקסט, כמו JSON,‏ URL או מייל. זה קידוד, לא הצפנה: כל אחד יכול לפענח אותו. Base64 בטוח ל־URL (Base64URL) מחליף את + ו־/ ב־- ו־_ ומשמיט את הריפוד, וזה מה ש־JWT משתמש בו.

איך משתמשים

  1. בחרו קידוד או פענוח. קידוד הופך טקסט ל־Base64; פענוח מחזיר Base64 לטקסט.
  2. הדביקו את הקלט. טקסט בכל שפה עובד, כי הוא מומר כ־UTF-8.
  3. בחרו בטוח ל־URL לפי הצורך. השתמשו בזה ל־URL, לשמות קבצים ול־JWT.

דוגמה

טקסט עם אימוג׳י, מקודד ל־Base64 כ־UTF-8:

קלט

Hello, world! 👋

פלט

SGVsbG8sIHdvcmxkISDwn5GL

שגיאות נפוצות ואיך לתקן אותן

InvalidCharacterError: The string contains characters outside of the Latin1 range
btoa()‎ מקבלת רק טקסט Latin-1, ולכן עברית נכשלת. המירו קודם את הטקסט לבייטים של UTF-8 עם TextEncoder, כמו שהכלי עושה, או השתמשו ב־Buffer.from(text).toString('base64')‎ ב־Node.js.
The string to be decoded is not correctly encoded
בקלט יש תווים שאינם Base64, כמו רווחים או שבירות שורה מההעתקה, או שזה Base64 בטוח ל־URL עם ‎-‎ ו־_. הסירו את התווים המיותרים או בחרו באפשרות URL-safe.
הטקסט המפוענח נראה כמו café
בייטים של UTF-8 נקראו כ־Latin-1. פענחו את הבייטים כ־UTF-8, למשל עם TextDecoder.
‏+ הופך לרווח ב־URL
Base64 רגיל משתמש ב־+, ש־URL קורא כרווח. השתמשו ב־Base64 בטוח ל־URL, או קודדו את הערך עם encodeURIComponent.

שאלות נפוצות

Base64 זה הצפנה?

לא. Base64 רק משנה את צורת הכתיבה של המידע; כל אחד יכול לפענח אותו. לסודות השתמשו בהצפנה אמיתית.

למה Base64 מגדיל את המידע?

כל 3 בייטים הופכים ל־4 תווים, כך שהמידע המקודד גדול בכ־33%.

מה זה Base64 בטוח ל־URL?

גרסה שמשתמשת ב־- ו־_ במקום + ו־/, ולרוב משמיטה את ריפוד ה־=, כך שאפשר להשתמש בה ב־URL ובשמות קבצים.

למה הפענוח נותן תווים מוזרים?

ייתכן שהקלט אינו טקסט (למשל תמונה), אינו Base64 תקין, או משתמש באלפבית הבטוח ל־URL.

המידע שלי מועלה?

לא. הקידוד והפענוח רצים בדפדפן שלכם.

איך מקודדים Base64 ב־JavaScript?

btoa() עובד לטקסט ASCII; לכל טקסט UTF-8 ממירים קודם לבייטים עם TextEncoder, כמו שהכלי עושה. ב־Node.js משתמשים ב־Buffer.from(text).toString("base64").

מה זה data URL?

דרך להטמיע קובץ ישירות בדף כ־Base64, כמו data:image/png;base64, ואחריו המידע המקודד.

מה זה ה־= בסוף Base64?

ריפוד שהופך את האורך לכפולה של 4. Base64 בטוח ל־URL בדרך כלל משמיט אותו.

אפשר לקודד כאן תמונות או קבצים?

הכלי מקודד טקסט. אפשר לקודד גם קבצים ב־Base64, אבל הם גדלים בערך בשליש.

Base64 רגיל בטוח לשימוש ב־URL?

לא. הוא מכיל + ו־/, שיש להם משמעות מיוחדת ב־URL; השתמשו בגרסה הבטוחה ל־URL.

מקורות

קשור

עוד כלים בקבוצה הזו

מדריכים ואפליקציות