# Base64 koduotuvas ir dekoduotuvas

> Išplėstinis Base64 kodavimo ir dekodavimo įrankis. Sprendžia UTF-8 problemas, palaiko URL saugų formatą. Veikia naršyklėje, internetu ir nemokamai.

URL: https://acrafto.com/lt/base64-koduotuvas-dekoduotuvas/

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.

Ar reikia konvertuoti skaitomą tekstą į Base64 formatą, kad jį būtų galima naudoti HTTP antraštėse, ar, atvirkščiai, iššifruoti API žetono turinį? Mūsų **Base64 teksto koduotojas ir dekoduotojas** yra specializuotas įrankis, skirtas dirbti su tekstinėmis eilutėmis, kuris gali susidoroti su sudėtingomis užduotimis, tokiomis kaip diakritiniai ženklai ar specialieji simboliai.

> **Dirbate su paveikslėliais?**  
> Jei jūsų kodas prasideda `data:image/png...` arba norite konvertuoti failą į tekstą, šis įrankis parodys tik beprasmiškus simbolius. Naudokite mūsų specializuotą įrankį, skirtą konvertuoti į paveikslėlį.

## Kaip veikia Base64 formatas?

Daugelis žmonių kasdien naudoja Base64, tačiau nedaugelis žino, kaip jis veikia “po variklio gaubtu”. Tai ne magija, o paprasta bitų matematika.

Įprastas tekstas kompiuteryje saugomas po 8 bitus (1 baitas). Tačiau Base64 naudoja 64 simbolių “abėcėlę” (`A-Z`, `a-z`, `0-9`, `+`, `/`). Kadangi `2^6 = 64`, vienas Base64 simbolis atitinka lygiai **6 bitus** informacijos.

**Konvertavimo procesas (Algoritmas):**

1. Paimami trys jūsų teksto simboliai (3 × 8 bitai = 24 bitai).
2. Šie 24 bitai padalijami į keturias 6 bitų grupes.
3. Kiekvienai grupei priskiriamas simbolis iš Base64 lentelės.

**Pasekmė:** Kadangi iš 3 simbolių gauname 4 simbolius, galutinė Base64 eilutė visada yra maždaug **33 % ilgesnė** už pradinį tekstą.

## Simbolių rinkinio problema: Kodėl įprasti Base64 keitikliai gadina lietuvių kalbos simbolius?

Jei kada nors bandėte užkoduoti žodį “Kąsnis” naršyklės konsolėje naudodami funkciją `btoa('Kąsnis')`, tikriausiai gavote klaidą: *String contains characters outside of the Latin1 range.*

Base64 iš pradžių buvo sukurtas 7 bitų ASCII simboliams. Tačiau lietuvių kalbos, jaustukų ir kitų specialiųjų simbolių (UTF-8) atmintyje užima daugiau baitų (daugiabaičiai simboliai).

- Raidė `a` = 1 baitas.
- Raidė `ę` = 2 baitai.
- Jaustukas 🚀 = 4 baitai.

Mūsų įrankis išsprendžia šią problemą. Prieš patį kodavimą į Base64, tekstą teisingai konvertuojame į UTF-8 baitų seką. Dėl to galite saugiai koduoti JSON objektus, lietuviškus tekstus ir šiuolaikinius simbolius be duomenų sugadinimo rizikos.

## Kur naudojamas Base64 teksto kodavimas?

Nors Base64 paveikslėliai daugiausia naudojami įterpiant į CSS/HTML, tekstinis Base64 turi visiškai kitokią paskirtį galinio serverio sistemose:

### 1\. HTTP Basic autentifikavimas

Kai prisijungiate prie API, antraštė dažnai atrodo taip: `Authorization: Basic dmFydG90b2phczpzbGFwdGHFvm9kaXM=` Už šio kodo slypi tiesiog sujungtas vartotojo vardas ir slaptažodis formatu `vartotojas:slaptažodis`. Mūsų įrankis leidžia lengvai generuoti arba tikrinti šias antraštes.

### 2\. JSON Web žetonai (JWT)

Šiuolaikinės žiniatinklio programos prisijungimui naudoja vadinamuosius JWT. Toks žetonas atrodo kaip trys ilgos eilutės, atskirtos tašku. Duomenų dalis (Payload) yra įprastas JSON objektas, užkoduotas Base64.

- **Patarimas:** Pabandykite čia įterpti vidurinę savo JWT žetono dalį ir ją dekoduoti. Pamatysite, kokius duomenis apie jus registruoja programa (pvz., vartotojo ID, galiojimo laikas).

### 3\. Konfigūracijos failai (Kubernetes Secrets)

Platformos, tokios kaip Kubernetes, saugo slaptus duomenis (Secrets) konfigūracijos YAML failuose Base64 formatu. Tai nėra šifravimas, o būdas, kaip į tekstinį failą įrašyti dvejetainius duomenis arba tekstą su problematiškais simboliais (naujos eilutės, kabutės).

## Kas yra “URL saugus Base64 kodavimas” ir kodėl tai svarbu?

Standartinėje Base64 abėcėlėje yra simboliai `+` (pliusas) ir `/` (pasvirasis brūkšnys). Abu šie simboliai URL adresuose turi specialią reikšmę:

- `/` atskiria katalogus.
- `+` dažnai interpretuojamas kaip tarpas.

Jei siųstumėte standartinį Base64 URL parametre (pvz., `site.com?token=ab/cd+ef`), serveris galėtų neteisingai perskaityti duomenis.

**Sprendimas (URL saugus režimas):** Mūsų jungiklis aktyvuoja **Base64URL** variantą (pagal RFC 4648), kuris atlieka šiuos pakeitimus:

- `+` keičiamas į `-` (brūkšnelis).
- `/` keičiamas į `_` (pabraukimo brūkšnys).
- Gale pašalinami `=` (užpildymo) simboliai, kurie URL nėra reikalingi.

---

## Mitas: Base64 nėra šifravimas!

Svarbu suprasti esminį skirtumą, kurį dažnai painioja pradedantieji:

1. **Kodavimas (Encoding - Base64):** Skirtas duomenų perdavimui. Tai tarsi daikto supakavimas į lagaminą, kad jis nesulūžtų kelionės metu. Kas ras lagaminą, gali jį atidaryti (dekoduoti) ir pamatyti turinį. **Tai nėra saugu slaptiems duomenims.**
2. **Šifravimas (Encryption - AES, RSA):** Užrakina duomenis raktu. Be rakto prie turinio neprisijungsite.
3. **Maišymas (Hashing - SHA, MD5):** Vieno krypties procesas (pvz., slaptažodžių saugojimui). Iš rezultato negalima atkurti originalaus teksto.

*Jei reikia siųsti slaptažodį ar konfidencialius duomenis, vien tik Base64 nepakanka. Turite naudoti HTTPS (SSL/TLS), kuris užšifruoja perdavimą.*

---

## Dažnai užduodami klausimai (DUK)

### Ką reiškia "=" simboliai eilutės gale?

Tai vadinamasis "užpildymas" (padding). Kadangi Base64 koduoja duomenis grupėmis po 3 simbolius, gali atsitikti, kad originalaus teksto ilgis nėra dalijamas iš trijų. Simboliai \`=\` pridedami pabaigoje, kad dekoduotojas žinotų, kiek bitų reikia ignoruoti pabaigoje.

### Kodėl dekoduotas tekstas rodomas kaip "išmėtyta arbata" (nesuprantami simboliai)?

Panašu, kad bandote dekoduoti duomenis, kurie nėra tekstas. Jei Base64 eilutė atspindi suglaudintą failą (ZIP), paveikslėlį ar užšifruotus duomenis, konvertavimas į tekstą (UTF-8) neturi prasmės. Pabandykite išsiaiškinti duomenų kilmę.

### Ar įrankis veikia neprisijungus prie interneto?

Taip. Visa konvertavimo logika parašyta JavaScript ir veikia tiesiogiai jūsų naršyklėje. Kai puslapis įkeliamas, galite atsijungti nuo interneto ir įrankis vis tiek veiks. Jūsų duomenys niekur nesiunčiami.

## 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))
- 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))
