UltKit

Base64 Kodlama ve Çözme

Metni veya dosyayı Base64'e dönüştürün ya da Base64'ü okunabilir metne geri çözün. Unicode doğru işlenir, URL-safe alfabe tek tıkla seçilir ve çözme işlemi dolgulu ya da dolgusuz her iki alfabeyi de kabul eder.

Mod

0 karakter · 0 kelime · 0 satır

0 karakter · 0 kelime · 0 satır

Tamamen bu tarayıcı sekmesinde çalışır. Metniniz asla yüklenmez veya saklanmaz.

Base64 alfabesi

RFC 4648'e göre dizin → karakter. Vurgulanan son iki karakter URL güvenli varyantta farklıdır: 62 için + veya -, 63 için / veya _.

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

Çıktı ne kadar uzar

Her 3 girdi baytı 4 karakter olur; 1 veya 2 baytlık son grup standart Base64'te = ile doldurulur, URL güvenli biçimde doldurulmaz.

GirdiBaytStandartURL güvenliUzunluk
U1VQ==VQ4
Ul2VWw=VWw4
Ult3VWx0VWx04
UltK4VWx0Sw==VWx0Sw8
UltKi5VWx0S2k=VWx0S2k8
UltKit6VWx0S2l0VWx0S2l08

Base64 ne işe yarar?

RFC 4648'de tanımlanan Base64, rastgele baytları 64 yazdırılabilir ASCII karakteriyle yazar: A–Z, a–z, 0–9, + ve /. Her üç baytlık grup (24 bit) dört adet 6 bitlik sayıya bölünür ve her sayı alfabeden bir karakter seçer. Girdi uzunluğu üçün katı değilse son gruba bir veya iki adet = işareti eklenir. Sonuç her zaman girdiden yaklaşık %33 daha büyüktür: her 3 bayt için 4 karakter.

Var olmasının nedeni, birçok iletişim kanalının metin için tasarlanmış olmasıdır. E-posta (MIME), HTML ve CSS içindeki data: URL'leri, görsel veya sertifika taşıyan JSON alanları ve HTTP Basic kimlik doğrulama başlıkları, ikili veriyi güvenle taşımak için Base64 kullanır. Şifreleme değildir ve hiçbir şeyi gizlemez; çözmek için anahtar gerekmez.

Unicode ve URL-safe varyantı

Base64 harfleri değil baytları kodlar, bu yüzden metin önce baytlara dönüştürülmelidir. Bu araç her zaman web'in dayandığı kodlama olan UTF-8'i kullanır: é iki bayt, bir emoji dört bayt olur. Tarayıcının yerleşik btoa işlevi tek başına U+00FF üzerindeki her karakterde hata verir; basit kodlayıcıların aksan ve emojide başarısız olmasının nedeni budur. Burada metin önce TextEncoder'dan geçer, çözme işlemi ise TextDecoder ile tersine çevrilir. Çözülen baytlar geçerli UTF-8 değilse (bir resim, bir zip dosyası), araç bunları bozuk metin yerine onaltılık olarak gösterir.

Standart Base64, URL'lerde ve dosya adlarında özel anlamı olan + ve / karakterlerini kullanır. RFC 4648'in 5. bölümündeki URL-safe alfabe bunların yerine - ve _ kullanır ve dolgu genellikle atılır. JSON Web Token'lar tam olarak bu biçimi kullanır. Çözücü her iki alfabeyi ve eksik dolguyu kabul eder, bu yüzden hangisini isterseniz yapıştırabilirsiniz.

Dosya ve resimleri kodlama

Bir dosya seçin; araç onu FileReader ile yerel olarak okur ve Base64 çıktısını ya da dosyanın MIME türünü içeren, bir img etiketine veya CSS arka planına doğrudan yapıştırılabilecek eksiksiz bir data: URL'sini verir. Satır içi görseller bir HTTP isteğinden tasarruf ettirir ancak boyutları üçte bir oranında büyür ve ayrı olarak önbelleğe alınamaz; bu yüzden fotoğraflara değil küçük simgelere uygundur. Önizleme ve hazır HTML ile CSS parçaları sunan görsel dönüştürme için Resmi Base64'e dönüştürme aracını kullanın.

Sık sorulan sorular

Base64 çıktısı neden girdimden uzun?
Her 3 bayt 4 karakter olur; dolayısıyla çıktı, girdinin yaklaşık 4/3'ü kadardır ve en fazla iki dolgu karakteri eklenir. ASCII dışı metin daha da uzundur, çünkü UTF-8 karakter başına iki ila dört bayt kullanır.
Sondaki = işaretleri nedir?
Dolgu karakterleridir. Girdi uzunluğu üçün katı olmadığında çıktı uzunluğunu dörtün katı yaparlar. Tek bir = son grupta iki bayt, iki = ise bir bayt olduğunu gösterir.
Çözme neden geçersiz karakter hatası veriyor?
Girdide alfabenin dışında bir şey var; örneğin bir sözcüğün içinde boşluk, tırnak işareti veya URL kodlamasından gelen bir %. Satır sonları ve eksik dolgu tolere edilir, diğer karakterler edilmez.
Bir şifreyi Base64 ile kodlamak güvenli mi?
Base64 hiçbir koruma sağlamaz. HTTP Basic kimlik doğrulama kullanıcı:parola bilgisini Base64 ile gönderir; bu yüzden yalnızca HTTPS üzerinden kullanılmalıdır. Gizli bilgileri korumak için gerçek şifreleme veya karma (hash) kullanın.
Base64 ile Base64url arasındaki fark nedir?
Yalnızca iki karakter ve dolgu: Base64url, + ve / yerine - ve _ kullanır ve genellikle = işaretini atar; böylece sonuç URL'lerde ve dosya adlarında kaçış gerektirmeden yer alabilir.