Nasıl kullanılır
- Metni girdi alanına yazın veya yapıştırın.
- Siz yazdıkça tüm kodlamalar güncellenir: ikili, sekizlik, ondalık, onaltılık, Base32 varyantları, Base36'dan Base91'e kadar olanlar, uuencode ve xxencode.
- Hangisinin en kısa olduğunu veya yalnızca kabul edebileceğiniz karakterleri kullandığını görmek için çıktıları karşılaştırın.
- İhtiyacınız olan sonucun yanındaki "Kopyala" düğmesine tıklayın.
Tek girdiden tüm kodlamalar
Bu sayfadaki her kodlama, aynı baytları farklı bir karakter dizisine dönüştürür. Bunları yan yana görmek; bir proje için kodlama seçmenin, bir günlük veya yapılandırma dosyasında karşılaştığınız bir dizeyi tanımanın ya da biçimlerin birbirinden nasıl ayrıldığını öğrenmenin en hızlı yoludur. Metniniz UTF-8 baytları olarak kodlanır; bu nedenle ş veya ü gibi aksanlı bir harf iki bayt, bir Çince karakter ise üç bayt sayılır. Her şey tarayıcınızda çalışır.
- Bayt başına sayılar. İkili, sekizlik ve ondalık gösterim her baytı ayrı ayrı yazar. Okuması kolaydır, ancak uzundur.
- Bit grupları. Hex, Base32 (Base32hex, Crockford ve z-base-32 ile birlikte), Base64 ve Base64URL her karaktere sabit sayıda bit atar; bu nedenle çıktı uzunluğu yalnızca girdi uzunluğuna bağlıdır.
- Büyük sayılar. Base36, Base58 ve Base62 girdinin tamamını tek bir büyük tam sayı olarak ele alır. Uzunluk, değere göre bir karakter kadar değişebilir; baştaki sıfır baytlar baştaki karakterler olarak korunur.
- Bloklar. Base45 2 baytı 3 karaktere, Ascii85, Z85 ve Base85 ise 4 baytı 5 karaktere dönüştürür; Base91 her karakter çiftine 13 veya 14 bit sığdırır.
- Satırlar. uuencode ve xxencode, veriyi her biri bir uzunluk karakteriyle başlayan satırlar hâlinde yazan eski e-posta ve Usenet biçimleridir.
Çıktı boyutlarının karşılaştırması
Her kodlamanın girdi baytı başına kaç karakter gerektirdiği ve SHA-256 hash değeri veya Ed25519 açık anahtarı gibi 32 baytlık bir değerin kaç karaktere dönüştüğü:
| Kodlama | Bayt başına karakter | 32 baytın karşılığı |
|---|---|---|
| Base16 (onaltılık) | 2,0 | 64 |
| Base32 | 1,6 | 56 (dolgusuz 52) |
| Base36 | yaklaşık 1,55 | 49 veya 50 |
| Base45 | 1,5 | 48 |
| Base58 | yaklaşık 1,37 | 43 veya 44 |
| Base62 | yaklaşık 1,34 | 42 veya 43 |
| Base64 | yaklaşık 1,33 | 44 (dolgusuz 43) |
| Base85 | 1,25 | 40 |
| Base91 | yaklaşık 1,23 | 39 veya 40 |
Hex'ten Base64'e geçmek uzunluğu üçte bir kısaltır. Bir adım daha ileri gidip Base64'ten Base91'e geçmek ise yalnızca yaklaşık %8 daha kazandırır.
Hangi kodlamayı seçmeli
En kısa çıktı her zaman en iyisi değildir. Ascii85 tırnak işaretleri ve ters eğik çizgiler, Base91 ise çift tırnak içerebilir; bu nedenle her ikisi de JSON, HTML veya kabuk komutlarında kaçış gerektirebilir. Dizenin nerede kullanılacağını düşünün:
- URL'ler ve dosya adları: Base64URL, Base58 veya Base62.
- Sesli okuma veya elle yazma: Birbirine benzeyen karakterleri dışarıda bırakan Crockford Base32 veya Base58.
- Büyük/küçük harf duyarsız sistemler: hex, Base32 veya Base36.
- QR kodları: Yalnızca QR alfanümerik modunun karakterlerini kullanan Base45.
- PDF, Git veya ZeroMQ'da kompakt metin: Ascii85, Base85 veya Z85.
- En yüksek uyumluluk: Neredeyse tüm programlama dilleri ve platformlar tarafından desteklenen Base64.
Sıkça sorulan sorular
Hangi kodlama en kısa çıktıyı verir?
Bu sayfadaki kodlamalar arasında en kompakt olanı, bayt başına yaklaşık 1,23 karakterle Base91'dir; onu bayt başına 1,25 karakterle Ascii85, Z85 ve Base85 izler. Base64 yaklaşık 1,33 karakter gerektirir, ancak çok daha yaygın olarak desteklenir; genellikle varsayılan tercih olmasının nedeni de budur.
Aynı boyuttaki girdilerde Base58 ve Base62 sonuçlarının uzunluğu neden değişiyor?
Bu kodlamalar girdinin tamamını tek bir büyük sayı olarak dönüştürür; bu nedenle uzunluk yalnızca boyuta değil, sayının değerine de bağlıdır. Baştaki her sıfır bayt da sonucun başına bir karakter ekler. Hex, Base32 ve Base64 ise aynı sayıda bayt için her zaman aynı uzunluğu verir.
Bu sayfada bir dizenin kodunu çözebilir miyim?
İkili çıktı neden bu kadar uzun?
İkili gösterim her bayt için 8 basamak ve ayrıca ayırıcılar yazar; bu nedenle hex'ten en az dört kat daha uzundur. Veriyi saklamak veya göndermek için değil, tek tek bitleri incelemek için tasarlanmıştır.
Metnim bir sunucuya gönderiliyor mu?
Hayır. Tüm kodlamalar tarayıcınızda JavaScript ile hesaplanır ve metin cihazınızdan hiç çıkmaz.