MCP ile bağlan →

Hesaplamaya Girin

Formül

Reklam

Sonuç

Çözülen Metin
Hello World
Çözülen bayt sayısı 11
Giriş karakteri (boşluklar hariç) 16
Dolgu karakterleri 1

Base64 Çözücü Nedir?

Base64, ikili (binary) veriyi 64 adet yazdırılabilir ASCII karakteriyle (A–Z, a–z, 0–9, + ve /) temsil eden bir kodlama yöntemidir. Görselleri doğrudan HTML içine gömmek, JSON veya URL üzerinden veri taşımak ve e-posta eklerini kodlamak için yaygın olarak kullanılır. Bu çözücü ise işlemi tersine çevirir: Base64 dizesini, temsil ettiği özgün düz metne geri döndürür.

Nasıl Kullanılır?

Base64 dizenizi giriş kutusuna yapıştırın veya yazın ve gönderin. Araç önce tüm boşlukları temizler, ardından karakterleri çözer ve sonucu ekrana getirir. Bununla birlikte çözülen bayt sayısını, girilen karakter sayısını ve kaç adet dolgu karakteri ('=') bulunduğunu da gösterir. Girdiniz Base64 alfabesi dışında bir karakter içeriyorsa "geçersiz" uyarısı görürsünüz.

Formülün Mantığı

Her Base64 karakteri 6 bitlik veri taşır. Dolayısıyla dört Base64 karakteri \(4 \times 6 = 24\) bit eder ve bu da tam tamına üç adet 8 bitlik bayta bölünür. Özgün verinin uzunluğu 3'ün katı değilse, kodlanmış dizenin uzunluğu her zaman 4'ün katı olsun diye sona bir ya da iki '=' dolgu karakteri eklenir. Çözme sırasında bu dolgu kaldırılır ve artan bitler atılır.

$$\text{Bytes} = \left\lfloor \frac{6 \times \text{Base64 chars (no padding)}}{8} \right\rfloor$$

$$\begin{gathered} \text{Bytes} = \left\lfloor \frac{6N}{8} \right\rfloor \\[1.5em] \text{where}\quad \left\{ \begin{aligned} N &= \text{valid chars of } \text{Base64 Input} \\ &\quad \text{(whitespace and } = \text{ removed)} \\ \text{char} &\to 6\text{ bits},\; 8\text{ bits} \to 1\text{ byte} \end{aligned} \right. \end{gathered}$$

Her biri 6 bitlik dört Base64 karakteri üç adet 8 bitlik bayta yeniden gruplandı
Dört Base64 karakteri 24 bit taşır ve bunlar çözülmüş üç bayta yeniden gruplanır.

Adım Adım Örnek

SGk= Base64 dizesini ele alalım. Karakterlerin karşılıkları şöyledir: \(S=18\), \(G=6\), \(k=36\) ve '=' dolgudur. İkili sistemde: \(010010\ 000110\ 100100\) → 24 bit; ancak sondaki dolgu nedeniyle yalnızca 2 bayt geçerlidir: \(01001000\) (\(72\) = 'H') ve \(01101001\) (\(105\) = 'i'). Sonuç Hi olur.

Base64 dizesini bitler aracılığıyla düz metne dönüştüren akış
Çözücü, bir Base64 dizesini orijinal düz metne geri dönüştürür.

Base64 Alfabesi Referansı

Standart Base64 (RFC 4648) her 6 bitlik değeri (0–63) 64 yazdırılabilir ASCII karakterinden birine eşler. Bir çözücü her karakteri okur, bu tabloda 6 bitlik indeksini bulur, bitleri birleştirir ve bunları 8 bitlik baytlara yeniden gruplandırır. Aşağıdaki tablo tam alfabeyi ve her karaktere atanan indeksi listeler.

İndeks Karakter İndeks Karakter İndeks Karakter İndeks Karakter
0 A 16 Q 32 g 48 w
1 B 17 R 33 h 49 x
2 C 18 S 34 i 50 y
3 D 19 T 35 j 51 z
4 E 20 U 36 k 52 0
5 F 21 V 37 l 53 1
6 G 22 W 38 m 54 2
7 H 23 X 39 n 55 3
8 I 24 Y 40 o 56 4
9 J 25 Z 41 p 57 5
10 K 26 a 42 q 58 6
11 L 27 b 43 r 59 7
12 M 28 c 44 s 60 8
13 N 29 d 45 t 61 9
14 O 30 e 46 u 62 +
15 P 31 f 47 v 63 /

65. sembol olan = (eşittir), bir veri karakteri değildir. Kodlanmış bir dizenin sonunda toplam uzunluğun her zaman 4 karakterin katı olması için kullanılan dolgu işaretidir. Bir =, son 4 karakterlik grup 2 baytı kodladığı anlamına gelir; iki ==, 1 baytı kodladığı anlamına gelir. Bir çözücü dolguyu ve bunun içerdiği fazla sıfır bitleri atar.

Daha Fazla Çözme Örneği

Her Base64 karakteri 6 bit katkı sağlar. Dört karakter (24 bit) tam olarak 3 bayta çözülür; kısmi gruplar dolgu kullanır böylece çözücü kaç baytı tutacağını bilir. Bayt sayısı \(\text{Baytlar} = \left\lfloor \frac{6 \times n}{8} \right\rfloor\) formülünü izler; burada \(n\) gerçek (dolgu olmayan) karakter sayısıdır.

Örnek 1 — Dolgu yok: "TWFu" → "Man"

  1. İndeksler: T=19, W=22, F=5, u=46.
  2. 6 bitlik gruplar: 010011 010110 000101 101110.
  3. Baytlara yeniden gruplandır: 01001101 01100001 01101110 = 77, 97, 110.
  4. ASCII 77, 97, 110 = M, a, n. \(n=4\) ile: \(\lfloor 24/8 \rfloor = 3\) bayt — Man.

Örnek 2 — Bir '=' dolgu: "SGVsbG8=" → "Hello"

  1. Dolguyu kaldır: 7 gerçek karakter S,G,V,s,b,G,8.
  2. İndeksler: S=18, G=6, V=21, s=44, b=27, G=6, 8=60.
  3. Bitler: 010010 000110 010101 101100 011011 000110 111100 (dolgu grubundan sonraki 2 bit sıfır dolgu olup atılır).
  4. Baytlar: 01001000 01100101 01101100 01101100 01101111 = 72, 101, 108, 108, 111 = H, e, l, l, o.
  5. \(n=7\) ile: \(\lfloor 42/8 \rfloor = 5\) bayt — Hello.

Örnek 3 — İki '==' dolgu: "aGk="... ve "TQ==" → "M"

  1. Dolguyu kaldır: 2 gerçek karakter T, Q.
  2. İndeksler: T=19, Q=16.
  3. Bitler: 010011 010000; sadece ilk 8 biti sakla, geri kalan 4 sıfır dolgudur.
  4. Bayt: 01001101 = 77 = M.
  5. \(n=2\) ile: \(\lfloor 12/8 \rfloor = 1\) bayt — M.

Diğer yöne gitmek ve bu dizgeleri metinden üretmek için Base64 Kodlayıcısını kullanın.

Anahtar Terimler

Base64 alfabesi
İkili verileri metin olarak temsil etmek için kullanılan 64 yazdırılabilir karakterin (A–Z, a–z, 0–9, + ve /) sabit kümesi. Her karakter 0 ile 63 arasında bir 6 bitlik değeri temsil eder.
Dolgu ('=')
Kodlanmış bir dizenin sonuna eklenen ve uzunluğunu 4 karakterin katı yapan eşittir işareti. Veri taşımaz; bir '=' son grubunun 2 baytlık olduğunu ve '==' 1 baytlık olduğunu işaretler.
Sektet (6 bit)
6 bitlik bir grup — tek bir Base64 karakterinin kodladığı birimdir. Dört sektet (24 bit) tam olarak üç oktetle hizalanır.
Oktet / bayt (8 bit)
8 bitlik bir birim, çözülen verilerin bir baytının standart boyutu. Base64 çözümlemesi sektetleri geri oktetlere gruplandırır; İkili Metne Dönüştürücü bunu bit bit de gösterebilir.
Boşluk çıkarma
Çözüntülemeden önce boşluk, sekme ve satır sonlarını kaldırma. Birçok sistem uzun Base64'e satır sonları ekler (ör. PEM sertifikaları, e-posta MIME); güçlü bir çözücü bunu veri olarak değil de göz ardı eder.
URL güvenli Base64
+ yerine - ve / yerine _ kullanan bir varyant (RFC 4648 §5), böylece dize URL ve dosya adlarında güvenlidir. Dolgu genellikle omit edilir. Bu karakterleri standart bir çözücü kullanmadan önce + ve / olarak geri dönüştürün; çevreleyen URL'nin kendisi için URL Kodla / Kodunu Çöz Hesaplayıcısına bakın.

Sıkça Sorulan Sorular

Verilerim bir yere gönderiliyor mu? Çözme işlemi, sonucu oluşturmak için sunucu tarafında çalışır; ancak girdiğiniz hiçbir veri saklanmaz. Yine de gizli bilgilerinizi yapıştırmaktan kaçının.

Bayt sayısı neden 4'e bölünmüyor? Bayt sayısı, girilen karakterleri değil çözülen çıktı baytlarını ifade eder. Her 4 giriş karakteri, en fazla 3 çıktı baytına dönüşür.

Dolgu (padding) ne anlama gelir? Tek bir '=' son grubun 2 bayt ürettiğini, iki '=' ise 1 bayt ürettiğini gösterir. Hiç dolgu yoksa veri uzunluğu zaten 3'ün katıdır.

Son güncelleme: