# Base64 kodeerija ja dekodeerija

> Täiustatud Base64 kodeerija ja dekodeerija. Teisendab teksti Base64-ks, lahendab UTF-8 probleeme, toetab URL-turvalist vormingut. Online ja tasuta.

URL: https://acrafto.com/et/base64-teisendaja/

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.

Kas teil on vaja teisendada loetav tekst Base64 formaati HTTP päiste jaoks või vastupidi, lahti mõtestada API tokeni sisu? Meie **Base64 Teksti Kodeerija & Dekodeerija** on spetsiaalne tööriist tekstistringidega töötamiseks, mis saab hakkama ka keeruliste nüanssidega, nagu diakriitikud või erimärgid.

> **Töötate piltidega?**  
> Kui teie kood algab `data:image/png...` või soovite faili tekstiks teisendada, kuvab see tööriist teile ainult arusaamatuid märke. Kasutage meie spetsiaalset tööriista piltide teisendamiseks.

## Kuidas Base64 formaat töötab?

Paljud inimesed kasutavad Base64 iga päev, kuid vähesed teavad, kuidas see “kapoti all” töötab. See ei ole maagia, vaid lihtne bitimatemaatika.

Tavaline tekst arvutis salvestatakse 8-bitise (1 bait) kaupa. Base64 aga kasutab 64 märgist koosnevat “tähestikku” (`A-Z`, `a-z`, `0-9`, `+`, `/`). Kuna `2^6 = 64`, esindab üks Base64 märk täpselt **6 bitti** infot.

**Teisendusprotsess (Algoritm):**

1. Võetakse kolm märki teie tekstist (3 × 8 bitti = 24 bitti).
2. Need 24 bitti jagatakse neljaks 6-bitiseks rühmaks.
3. Igale rühmale määratakse Base64 tabelist märk.

**Tulemus:** Kuna me muudame 3 märki 4 märgiks, on saadud Base64 string alati umbes **33% pikem** kui algne tekst.

## Märgistiku probleem: Miks tavalised Base64 teisendajad rikuvad UTF-8 märke?

Kui olete kunagi proovinud kodeerida sõna “Kůň” brauseri konsoolis, kasutades funktsiooni `btoa('Kůň')`, olete tõenäoliselt saanud vea: *String contains characters outside of the Latin1 range.*

Base64 loodi algselt 7-bitiste ASCII märkide jaoks. Eesti keel, emoji ja muud erisümbolid (UTF-8) võtavad aga mälus rohkem baite (mitmebaidilised märgid).

- Täht `a` = 1 bait.
- Täht `ä` = 2 baiti.
- Emoji 🚀 = 4 baiti.

Meie tööriist lahendab selle probleemi. Enne Base64-ks kodeerimist teisendame teksti korrektselt UTF-8 baitide jadaks. Tänu sellele saate turvaliselt kodeerida JSON objekte, eestikeelseid tekste ja kaasaegseid sümboleid ilma andmekahjustuse riskita.

## Kus Base64 tekstikodeerimist kasutatakse?

Samal ajal kui Base64 pildid on peamiselt mõeldud CSS/HTML-i sisestamiseks, on tekstipõhisel Base64-l tagasüsteemides täiesti teine kasutusala:

### 1\. HTTP Basic Authentication

API-sse sisselogimisel näeb päis sageli välja selline: `Authorization: Basic a2FzdXRhamE6cGFyb29s` Selle koodi taga peitub lihtsalt ühendatud kasutajanimi ja parool formaadis `kasutaja:parool`. Meie tööriist võimaldab teil neid päiseid hõlpsasti genereerida või kontrollida.

### 2\. JSON Web Tokens (JWT)

Kaasaegsed veebirakendused kasutavad sisselogimiseks nn JWT-d. Selline token näeb välja nagu kolm pikka, punktiga eraldatud stringi. Andmete osa (Payload) on tavaline Base64-s kodeeritud JSON objekt.

- **Nõuanne:** Proovige siia kleepida oma JWT tokeni keskmine osa ja see dekodeerida. Näete täpselt, milliseid andmeid rakendus teie kohta salvestab (nt kasutaja ID, aegumiskuupäev).

### 3\. Konfiguratsioonifailid (Kubernetes Secrets)

Platvormid nagu Kubernetes salvestavad saladusi (Secrets) konfiguratsiooni YAML-failides just Base64 formaadis. See ei ole krüpteerimine, vaid viis binaarandmete või probleemsete märkidega teksti (reavahetused, jutumärgid) tekstifaili salvestamiseks.

## Mis on “URL-turvaline Base64 kodeerimine” ja miks see oluline on?

Standardne Base64 tähestik sisaldab märke `+` (pluss) ja `/` (kaldkriips). Mõlemal märgil on URL-aadressides eriline tähendus:

- `/` eraldab katalooge.
- `+` tõlgendatakse sageli tühikuna.

Kui saadaksite standardse Base64 URL-i parameetris (nt `site.com?token=ab/cd+ef`), võiks server andmeid valesti lugeda.

**Lahendus (URL-turvaline režiim):** Meie lüliti aktiveerib **Base64URL** variandi (vastavalt RFC 4648), mis teeb järgmised muudatused:

- `+` muutub `-` (sidekriips).
- `/` muutub `_` (allkriips).
- Lõpust eemaldatakse `=` märgid (täide), mida URL-is vaja pole.

---

## Müüt: Base64 ei ole krüpteerimine!

Oluline on mõista põhimõttelist erinevust, mida algajad sageli segamini ajavad:

1. **Kodeerimine (Encoding - Base64):** Kasutatakse andmete edastamiseks. See on nagu asja pakkimine kohvrisse, et see teel katki ei läheks. Kes iganes kohvri leiab, saab selle avada (dekodeerida) ja sisu näha. **See ei ole salajaste andmete jaoks turvaline.**
2. **Krüpteerimine (Encryption - AES, RSA):** Lukustab andmed võtmega. Ilma võtmeta sisule ligi ei pääse.
3. **Häššimine (Hashing - SHA, MD5):** Ühesuunaline protsess (nt paroolide salvestamiseks). Tulemusest ei saa algset teksti tagasi.

*Kui teil on vaja saata parool või tundlik teave, siis ainuüksi Base64-st ei piisa. Peate kasutama HTTPS-i (SSL/TLS), mis krüpteerib edastuse.*

---

## Korduma kippuvad küsimused (KKK)

### Mida tähendavad märgid "=" stringi lõpus?

See on nn "täide" (padding). Kuna Base64 kodeerib andmeid 3-märgiste rühmadena, võib algse teksti pikkus olla kolmega jagamatu. \`=\` märgid lisatakse lõppu, et dekodeerija teaks, mitu bitti lõpus ignoreerida.

### Miks dekodeeritud tekst kuvatakse "segamini pudruna"?

Tõenäoliselt proovite dekodeerida andmeid, mis ei ole tekst. Kui Base64 string esindab tihendatud faili (ZIP), pilti või krüpteeritud andmeid, ei ole tekstiks (UTF-8) teisendamine mõttekas. Proovige välja selgitada andmete päritolu.

### Kas tööriist töötab võrguühenduseta?

Jah. Kogu teisendusloogika on kirjutatud JavaScriptis ja töötab otse teie brauseris. Kui leht on laetud, saate internetist lahti ühendada ja tööriist töötab endiselt. Teie andmeid ei saadeta kuhugi.

## 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))
- 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))
- עברית (he): [קידוד ופענוח Base64](https://acrafto.com/he/base64-encoder-decoder/) ([Markdown](https://acrafto.com/he/base64-encoder-decoder/index.md))
