# קידוד ופענוח Base64

> כלי מתקדם לקידוד ופענוח טקסט ל-Base64. פותר בעיות קידוד UTF-8, תומך בפורמט בטוח לכתובות אתרים (URL-safe) ומסביר את עקרונות הקידוד. אונליין ובחינם.

URL: https://acrafto.com/he/base64-encoder-decoder/

Tools are interactive browser apps; there is no public API, no endpoints to call and no server-side processing. To use a tool, open its HTML page in a browser.

האם אתם צריכים להמיר טקסט קריא לפורמט Base64 לשימוש בכותרות HTTP, או לפענח תוכן של אסימון API? ה-**מקודד ומפענח טקסט Base64** שלנו הוא כלי מיוחד לעבודה עם מחרוזות טקסט, שיכול להתמודד גם עם מורכבויות כמו סימני ניקוד או תווים מיוחדים.

> **עובדים עם תמונות?**  
> אם הקוד שלכם מתחיל ב-`data:image/png...` או שאתם רוצים להמיר קובץ לטקסט, כלי זה יציג לכם רק תווים חסרי משמעות. השתמשו בכלי הייעודי שלנו להמרה לתמונה.

## איך עובד פורמט Base64?

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

טקסט רגיל במחשב מאוחסן ב-8 ביטים (1 בייט). עם זאת, Base64 משתמש ב”אלפבית” של 64 תווים (`A-Z`, `a-z`, `0-9`, `+`, `/`). מכיוון ש-`2^6 = 64`, תו Base64 אחד מייצג בדיוק **6 ביטים** של מידע.

**תהליך ההמרה (אלגוריתם):**

1. נלקחים שלושה תווים מהטקסט שלכם (3 × 8 ביטים = 24 ביטים).
2. 24 הביטים הללו מחולקים לארבע קבוצות של 6 ביטים כל אחת.
3. לכל קבוצה מוקצה תו מטבלת Base64.

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

## בעיית קידוד תווים: למה ממירי Base64 רגילים משבשים עברית / UTF-8?

אם אי פעם ניסיתם לקודד מילה כמו “שלום” (או “Kůň” בעברית לדוגמה) בקונסולת הדפדפן באמצעות הפונקציה `btoa('שלום')`, סביר להניח שקיבלתם שגיאה: *String contains characters outside of the Latin1 range.*

Base64 תוכנן במקור עבור תווים של ASCII ב-7 ביטים. עם זאת, עברית, אמוג’י וסמלים מיוחדים אחרים (UTF-8) תופסים יותר בתים בזיכרון (תווים מרובי-בתים).

- האות `a` = 1 בייט.
- האות `ש` = 2 בתים (ב-UTF-8).
- אמוג’י 🚀 = 4 בתים.

הכלי שלנו פותר בעיה זו. לפני הקידוד ל-Base64, אנו ממירים את הטקסט כראוי לרצף של בייטים בקידוד UTF-8. בזכות זה, תוכלו לקודד בבטחה אובייקטי JSON, טקסטים בעברית ואפילו סמלים מודרניים ללא חשש מנזק לנתונים.

## היכן נעשה שימוש בקידוד טקסט Base64?

בעוד שתמונות ב-Base64 משמשות בעיקר להטמעה ב-CSS/HTML, ל-Base64 טקסטואלי יש שימושים שונים לחלוטין במערכות בקאנד:

### 1\. אימות בסיסי HTTP (HTTP Basic Authentication)

כאשר אתם מתחברים ל-API, הכותרת לרוב נראית כך: `Authorization: Basic 157Xqdeq157XqTrXodeZ16HXnteU` מאחורי קוד זה מסתתר שם משתמש וסיסמה פשוטים בפורמט `משתמש:סיסמה`. הכלי שלנו יאפשר לכם ליצור או לבדוק כותרות אלה בקלות.

### 2\. אסימוני אינטרנט JSON (JSON Web Tokens - JWT)

יישומי ווב מודרניים משתמשים ב-JWT להתחברות. אסימון כזה נראה כמו שלוש מחרוזות ארוכות המופרדות בנקודה. חלק הנתונים (Payload) הוא אובייקט JSON רגיל המקודד ב-Base64.

- **טיפ:** נסו להדביק כאן את החלק האמצעי של אסימון ה-JWT שלכם ולפענח אותו. תראו בדיוק אילו נתונים האפליקציה מחזיקה עליכם (לדוגמה, מזהה משתמש, תפוגה).

### 3\. קובצי תצורה (סודות Kubernetes)

פלטפורמות כמו Kubernetes מאחסנות נתונים סודיים (Secrets) בקובצי YAML תצורה בפורמט Base64. זו אינה הצפנה, אלא דרך לשמור נתונים בינאריים או טקסט עם תווים בעייתיים (שורות חדשות, מירכאות) בקובץ טקסט.

## מהו “קידוד Base64 בטוח לכתובות אתרים (URL Safe)” ולמה זה חשוב?

האלפבית הסטנדרטי של Base64 כולל את התווים `+` (פלוס) ו-`/` (קו נטוי). לשני תווים אלה יש משמעות מיוחדת בכתובות אתרים (URL):

- `/` מפריד ספריות.
- `+` לרוב מפורש כרווח.

אם הייתם שולחים Base64 סטנדרטי בפרמטר URL (לדוגמה, `site.com?token=ab/cd+ef`), השרת עלול לקרוא את הנתונים באופן שגוי.

**הפתרון (מצב בטוח לכתובות אתרים):** המתג שלנו מפעיל את גרסת **Base64URL** (לפי RFC 4648), המבצעת את השינויים הבאים:

- `+` משתנה ל-`-` (מקף).
- `/` משתנה ל-`_` (קו תחתון).
- בסוף, סימני `=` (ריפוד) מוסרים, מכיוון שהם אינם נחוצים ב-URL.

---

## מיתוס: Base64 אינו הצפנה!

חשוב להבין את ההבדל המהותי שמתחילים מבלבלים לעיתים קרובות:

1. **קידוד (Encoding - Base64):** משמש להעברת נתונים. זה כמו לארוז פריט במזוודה כדי שלא ישבר בדרך. כל מי שמוצא את המזוודה יכול לפתוח אותה (לפענח) ולראות את התוכן. **זה לא בטוח עבור נתונים סודיים.**
2. **הצפנה (Encryption - AES, RSA):** נועלת נתונים עם מפתח. ללא המפתח לא ניתן לגשת לתוכן.
3. **גיבוב (Hashing - SHA, MD5):** תהליך חד-כיווני (לדוגמה, לאחסון סיסמאות). לא ניתן לקבל את הטקסט המקורי מהתוצאה.

*אם אתם צריכים לשלוח סיסמה או נתון רגיש, Base64 לבדו אינו מספיק. עליכם להשתמש ב-HTTPS (SSL/TLS), אשר יצפין את ההעברה.*

---

## שאלות נפוצות (FAQ)

### מהם סימני "=" בסוף המחרוזת?

זהו מה שנקרא "ריפוד" (padding). מכיוון ש-Base64 מקודד נתונים בקבוצות של 3 תווים, ייתכן שאורך הטקסט המקורי אינו מתחלק בשלוש. סימני \`=\` מתווספים בסוף כדי שהמפענח ידע כמה ביטים להתעלם בסיום.

### למה הטקסט המפוענח נראה כמו "ג'יבריש"?

כנראה שאתם מנסים לפענח נתונים שאינם טקסט. אם מחרוזת ה-Base64 מייצגת קובץ דחוס (ZIP), תמונה או נתונים מוצפנים, המרה לטקסט (UTF-8) אינה הגיונית. נסו לברר את מקור הנתונים.

### האם הכלי עובד במצב לא מקוון (אופליין)?

כן. כל לוגיקת ההמרה כתובה ב-JavaScript ופועלת ישירות בדפדפן שלכם. לאחר שהדף נטען, תוכלו להתנתק מהאינטרנט והכלי עדיין יעבוד. הנתונים שלכם אינם נשלחים לשום מקום.

## Other languages

- Čeština (cs): [Base64 Encoder a Decoder](https://acrafto.com/cs/base64-decoder-encoder/) ([Markdown](https://acrafto.com/cs/base64-decoder-encoder/index.md))
- Slovenčina (sk): [Base64 kódovač a dekódovač](https://acrafto.com/sk/base64-kodovac-dekodovac-online/) ([Markdown](https://acrafto.com/sk/base64-kodovac-dekodovac-online/index.md))
- English (en): [Base64 Encoder and Decoder](https://acrafto.com/en/base64-encoder-decoder/) ([Markdown](https://acrafto.com/en/base64-encoder-decoder/index.md))
- Deutsch (de): [Base64 Encoder und Decoder](https://acrafto.com/de/base64-encoder-decoder-online/) ([Markdown](https://acrafto.com/de/base64-encoder-decoder-online/index.md))
- Français (fr): [Encodeur et décodeur Base64](https://acrafto.com/fr/encodeur-decodeur-base64/) ([Markdown](https://acrafto.com/fr/encodeur-decodeur-base64/index.md))
- Español (es): [Codificador y decodificador Base64](https://acrafto.com/es/codificador-base64-decodificador-online/) ([Markdown](https://acrafto.com/es/codificador-base64-decodificador-online/index.md))
- Italiano (it): [Encoder e decoder Base64](https://acrafto.com/it/encoder-decoder-base64-online/) ([Markdown](https://acrafto.com/it/encoder-decoder-base64-online/index.md))
- Português (pt): [Codificador e decodificador Base64](https://acrafto.com/pt/encoder-decoder-base64-online/) ([Markdown](https://acrafto.com/pt/encoder-decoder-base64-online/index.md))
- Nederlands (nl): [Base64 encoder en decoder](https://acrafto.com/nl/base64-encoder-decoder/) ([Markdown](https://acrafto.com/nl/base64-encoder-decoder/index.md))
- Polski (pl): [Koder i dekoder Base64](https://acrafto.com/pl/koder-dekoder-base64-online/) ([Markdown](https://acrafto.com/pl/koder-dekoder-base64-online/index.md))
- Română (ro): [Base64 encoder și decoder](https://acrafto.com/ro/codor-decodor-base64/) ([Markdown](https://acrafto.com/ro/codor-decodor-base64/index.md))
- Magyar (hu): [Base64 kódoló és dekódoló](https://acrafto.com/hu/base64-kodolo-dekodolo-online/) ([Markdown](https://acrafto.com/hu/base64-kodolo-dekodolo-online/index.md))
- Ελληνικά (el): [Κωδικοποίηση και αποκωδικοποίηση Base64](https://acrafto.com/el/base64-encoder-decoder/) ([Markdown](https://acrafto.com/el/base64-encoder-decoder/index.md))
- Български (bg): [Base64 енкодер и декодер](https://acrafto.com/bg/base64-enkoder-dekoder-onlain/) ([Markdown](https://acrafto.com/bg/base64-enkoder-dekoder-onlain/index.md))
- Hrvatski (hr): [Base64 koder i dekoder](https://acrafto.com/hr/base64-koder-dekoder/) ([Markdown](https://acrafto.com/hr/base64-koder-dekoder/index.md))
- Slovenščina (sl): [Base64 kodirnik in dekodirnik](https://acrafto.com/sl/base64-kodirnik-dekodirnik/) ([Markdown](https://acrafto.com/sl/base64-kodirnik-dekodirnik/index.md))
- Eesti (et): [Base64 kodeerija ja dekodeerija](https://acrafto.com/et/base64-teisendaja/) ([Markdown](https://acrafto.com/et/base64-teisendaja/index.md))
- Latviešu (lv): [Base64 kodētājs un dekodētājs](https://acrafto.com/lv/base64-kodetajs-dekodetajs/) ([Markdown](https://acrafto.com/lv/base64-kodetajs-dekodetajs/index.md))
- Lietuvių (lt): [Base64 koduotuvas ir dekoduotuvas](https://acrafto.com/lt/base64-koduotuvas-dekoduotuvas/) ([Markdown](https://acrafto.com/lt/base64-koduotuvas-dekoduotuvas/index.md))
- Svenska (sv): [Base64 encode och decode](https://acrafto.com/sv/base64-kodare-avkodare-online/) ([Markdown](https://acrafto.com/sv/base64-kodare-avkodare-online/index.md))
- Dansk (da): [Base64 encoder og dekoder](https://acrafto.com/da/base64-encoder-dekoder-online/) ([Markdown](https://acrafto.com/da/base64-encoder-dekoder-online/index.md))
- Suomi (fi): [Base64-kooderi ja -dekooderi](https://acrafto.com/fi/base64-kooderi-dekooderi/) ([Markdown](https://acrafto.com/fi/base64-kooderi-dekooderi/index.md))
- Norsk (no): [Base64-enkoder og -dekoder](https://acrafto.com/no/base64-enkoder-dekoder/) ([Markdown](https://acrafto.com/no/base64-enkoder-dekoder/index.md))
- Українська (uk): [Base64 кодер і декодер](https://acrafto.com/uk/base64-koder-dekoder-onlajn/) ([Markdown](https://acrafto.com/uk/base64-koder-dekoder-onlajn/index.md))
- Русский (ru): [Base64 кодировщик и декодировщик](https://acrafto.com/ru/base64-koder-dekoder/) ([Markdown](https://acrafto.com/ru/base64-koder-dekoder/index.md))
- Српски (sr): [Base64 enkoder i dekoder](https://acrafto.com/sr/base64-enkoder-dekoder-online/) ([Markdown](https://acrafto.com/sr/base64-enkoder-dekoder-online/index.md))
- Македонски (mk): [Base64 енкодер и декодер](https://acrafto.com/mk/base64-converter/) ([Markdown](https://acrafto.com/mk/base64-converter/index.md))
- Bosanski (bs): [Base64 koder i dekoder](https://acrafto.com/bs/base64-koder-dekoder/) ([Markdown](https://acrafto.com/bs/base64-koder-dekoder/index.md))
- Shqip (sq): [Base64 kodues dhe dekodues](https://acrafto.com/sq/kodues-dekodues-base64-online/) ([Markdown](https://acrafto.com/sq/kodues-dekodues-base64-online/index.md))
- Türkçe (tr): [Base64 kodlayıcı ve çözücü](https://acrafto.com/tr/base64-kodlayici-cozucu-online/) ([Markdown](https://acrafto.com/tr/base64-kodlayici-cozucu-online/index.md))
- 日本語 (ja): [Base64エンコード・デコード](https://acrafto.com/ja/base64-encoder-decoder/) ([Markdown](https://acrafto.com/ja/base64-encoder-decoder/index.md))
- 한국어 (ko): [Base64 인코딩 디코딩](https://acrafto.com/ko/base64-encoder-decoder/) ([Markdown](https://acrafto.com/ko/base64-encoder-decoder/index.md))
- العربية (ar): [ترميز وفك ترميز Base64](https://acrafto.com/ar/base64-encoder-decoder/) ([Markdown](https://acrafto.com/ar/base64-encoder-decoder/index.md))
- हिन्दी (hi): [Base64 एन्कोडर और डिकोडर](https://acrafto.com/hi/base64-encoder-decoder-online/) ([Markdown](https://acrafto.com/hi/base64-encoder-decoder-online/index.md))
- Bahasa Indonesia (id): [Base64 encode dan decode](https://acrafto.com/id/konverter-base64-online/) ([Markdown](https://acrafto.com/id/konverter-base64-online/index.md))
- Tiếng Việt (vi): [Mã hóa và giải mã Base64](https://acrafto.com/vi/base64-ma-hoa-giai-ma-online/) ([Markdown](https://acrafto.com/vi/base64-ma-hoa-giai-ma-online/index.md))
- ไทย (th): [เข้ารหัสและถอดรหัส Base64](https://acrafto.com/th/base64-encoder-decoder/) ([Markdown](https://acrafto.com/th/base64-encoder-decoder/index.md))
