# Base64 kodirnik in dekodirnik

> Napredno spletno orodje za kodiranje in dekodiranje besedila v Base64. Podpira UTF-8, URL-varni format in razlaga princip kodiranja. Brezplačno in hitro.

URL: https://acrafto.com/sl/base64-kodirnik-dekodirnik/

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.

Potrebujete pretvoriti berljivo besedilo v format Base64 za uporabo v HTTP glavah ali obratno, razvozlati vsebino API žetona? Naš **Base64 Tekstovni Kodirnik & Dekodirnik** je specializirano orodje za delo z besedilnimi nizi, ki se spopada tudi z zapletenostmi, kot so diakritični znaki ali posebni simboli.

> **Delate s slikami?**  
> Če se vaša koda začne z `data:image/png...` ali želite datoteko pretvoriti v besedilo, vam bo to orodje prikazalo le nesmiselne znake. Uporabite naše specializirano orodje za pretvorbo v sliko.

## Kako deluje format Base64?

Veliko ljudi dnevno uporablja Base64, a le redki vedo, kako deluje “pod pokrovom”. Ne gre za magijo, temveč za preprosto bitno matematiko.

Običajno besedilo v računalniku je shranjeno po 8 bitih (1 bajt). Base64 pa uporablja “abecedo” s 64 znaki (`A-Z`, `a-z`, `0-9`, `+`, `/`). Ker je `2^6 = 64`, en znak Base64 predstavlja natančno **6 bitov** informacije.

**Proces pretvorbe (Algoritem):**

1. Vzamejo se trije znaki vašega besedila (3 × 8 bitov = 24 bitov).
2. Teh 24 bitov se razdeli v štiri skupine po 6 bitov.
3. Vsaki skupini se dodeli znak iz tabele Base64.

**Posledica:** Ker iz 3 znakov naredimo 4 znake, je končni niz Base64 vedno približno **za 33 % daljši** od izvirnega besedila.

## Problem s kodiranjem znakov: Zakaj običajni pretvorniki Base64 uničujejo slovenske znake?

Če ste kdaj poskusili kodirati besedo “Kůň” (ali slovenski znak, kot je ‘š’) v konzoli brskalnika z uporabo funkcije `btoa('Kůň')`, ste verjetno dobili napako: *String contains characters outside of the Latin1 range.*

Base64 je bil prvotno zasnovan za 7-bitne ASCII znake. Slovenščina, emoji in drugi posebni simboli (UTF-8) pa v pomnilniku zavzemajo več bajtov (večbajtni znaki).

- Črka `a` = 1 bajt.
- Črka `š` = 2 bajta.
- Emoji 🚀 = 4 bajti.

Naše orodje rešuje ta problem. Pred samim kodiranjem v Base64 pravilno pretvorimo besedilo v zaporedje UTF-8 bajtov. Zahvaljujoč temu lahko varno kodirate JSON objekte, slovenska besedila in sodobne simbole brez tveganja poškodbe podatkov.

## Kje se uporablja Base64 besedilno kodiranje?

Medtem ko se slike v Base64 uporabljajo predvsem za vstavljanje v CSS/HTML, ima besedilni Base64 povsem drugačno uporabo v zalednih sistemih:

### 1\. HTTP Basic Authentication

Ko se prijavljate v API, glava pogosto izgleda takole: `Authorization: Basic dXBvcmFibmlrOmdlc2xv` Za to kodo se skriva preprosto združeno uporabniško ime in geslo v formatu `uporabnik:geslo`. Naše orodje vam omogoča enostavno generiranje ali preverjanje teh glav.

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

Sodobne spletne aplikacije za prijavo uporabljajo tako imenovane JWT žetone. Takšen žeton je videti kot trije dolgi nizi, ločeni s piko. Del s podatki (Payload) je navaden JSON objekt, kodiran v Base64.

- **Nasvet:** Poskusite sem vstaviti sredinski del vašega JWT žetona in ga dekodirajte. Natančno boste videli, katere podatke aplikacija beleži o vas (npr. ID uporabnika, datum poteka).

### 3\. Konfiguracijske datoteke (Kubernetes Secrets)

Platforme, kot je Kubernetes, shranjujejo tajne podatke (Secrets) v konfiguracijskih YAML datotekah prav v Base64. Ne gre za šifriranje, ampak za način, kako v besedilno datoteko shraniti binarne podatke ali besedilo s problematičnimi znaki (nove vrstice, narekovaji).

## Kaj je “URL varno Base64 kodiranje” in zakaj je to pomembno?

Standardna Base64 abeceda vsebuje znake `+` (plus) in `/` (poševnica). Oba ta znaka imata v URL naslovih poseben pomen:

- `/` ločuje direktorije.
- `+` se pogosto interpretira kot presledek.

Če bi poslali standardni Base64 v URL parametru (npr. `site.com?token=ab/cd+ef`), bi strežnik lahko podatke prebral napačno.

**Rešitev (URL varni način):** Naše stikalo aktivira različico **Base64URL** (v skladu z RFC 4648), ki izvaja te spremembe:

- `+` se spremeni v `-` (vezaj).
- `/` se spremeni v `_` (podčrtaj).
- Na koncu se odstranijo znaki `=` (dopolnilo), ki v URL niso potrebni.

---

## Mit: Base64 ni šifriranje!

Pomembno je razumeti bistveno razliko, ki jo začetniki pogosto zamenjujejo:

1. **Kodiranje (Encoding - Base64):** Služi za prenos podatkov. To je kot da bi stvar zapakirali v kovček, da se med potjo ne bi poškodovala. Kdor najde kovček, ga lahko odpre (dekodira) in vidi vsebino. **Ni varno za tajne podatke.**
2. **Šifriranje (Encryption - AES, RSA):** Zaklene podatke s ključem. Brez ključa ne morete dostopati do vsebine.
3. **Heširanje (Hashing - SHA, MD5):** Enosmerni proces (npr. za shranjevanje gesel). Iz rezultata ni mogoče pridobiti izvirnega besedila.

*Če morate poslati geslo ali občutljiv podatek, samo Base64 ni dovolj. Uporabiti morate HTTPS (SSL/TLS), ki šifrira prenos.*

---

## Pogosto zastavljena vprašanja (FAQ)

### Kaj pomenijo znaki "=" na koncu niza?

To je tako imenovano "dopolnilo" (padding). Ker Base64 kodira podatke v skupinah po 3 znake, se lahko zgodi, da dolžina izvirnega besedila ni deljiva s trojko. Znaki \`=\` se dodajo na konec, da dekodirnik ve, koliko bitov naj na koncu ignorira.

### Zakaj se dekodirano besedilo prikazuje kot "razsuti čaj"?

Verjetno poskušate dekodirati podatke, ki niso besedilo. Če niz Base64 predstavlja stisnjeno datoteko (ZIP), sliko ali šifrirane podatke, pretvorba v besedilo (UTF-8) nima smisla. Poskusite ugotoviti izvor podatkov.

### Ali orodje deluje brez povezave?

Da. Celotna logika pretvorbe je napisana v JavaScriptu in deluje neposredno v vašem brskalniku. Ko se stran naloži, se lahko odklopite od interneta in orodje bo še vedno delovalo. Vaši podatki se nikamor ne pošiljajo.

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