Toolyard

Base64 (ve URL kodlaması) nedir?

Base64: düz metin olarak ikili veri

Bazı yerler yalnızca düz metin kabul eder: e-posta, JSON, HTML öznitelikleri. Base64 her veriyi 64 güvenli karaktere (A–Z, a–z, 0–9, + ve /) çevirir; böylece bunlardan değişmeden geçebilir. «Hello», SGVsbG8= olur.

  • Her 3 bayt 4 karakter olur, bu yüzden Base64 özgününden yaklaşık %33 daha büyüktür.
  • Sondaki = işaretleri çıktıyı 4 karakterin katına tamamlar.
  • URL için güvenli varyant, web adreslerinde özel anlamları olan + ve / yerine - ve _ kullanır.

Şifreleme değildir

Base64’ü herkes çözebilir; anahtarı yoktur. Onu asla bir parolayı ya da başka bir sırrı gizlemek için kullanma.

Veri URI’leri

Küçük bir görsel, data:image/png;base64, ve ardından Base64 metniyle doğrudan HTML’ye ya da CSS’e yazılabilir; bu ayrı bir indirmeden kurtarır. Boyut artışı yüzünden bu yalnızca küçük simgeler için mantıklıdır. Görselden Base64’e aracı veri URI’sini senin için yapar ya da birini yeniden görsele çevirir.

URL kodlaması başka bir şeydir

URL (yüzde) kodlaması yalnızca bir web adresinde izin verilmeyen ya da özel anlamı olan karakterleri, her birini % ve bayt değeriyle değiştirir. «çiçek & şeker», %C3%A7i%C3%A7ek%20%26%20%C5%9Feker olur: boşluk %20, & %26, UTF-8’de iki bayt olan ç %C3%A7, ş de %C5%9F’dir. Geri kalan her şey okunur kalır.

Metni Base64 kodla / çöz ve URL kodla / çöz ile kodla ve çöz.

Üç harfi elle kodlamak

Man kelimesini al. Üç baytı 77, 97 ve 110’dur; ikilik olarak 01001101 01100001 01101110. Base64 bu 24 biti altılık dört gruba yeniden böler:

010011 010110 000101 101110
  19     22      5     46
  T      W       F     u

Her altı bitlik sayı A–Z, a–z, 0–9, + ve / alfabesinden bir karakter seçer; yani Man, TWFu olur. Girdi üç baytın katı olmadığında = işaretleri sonu doldurur.

Ne kadar büyür

30 KB’lık bir görsel Base64 olarak yaklaşık 40 KB olur. Veri URI’lerinin birkaç kilobaytlık simgelere uyup fotoğraflara uymamasının nedeni budur.

Yaygın sorunlar

  • Uzun metinde kod çözme başarısız. E-posta ve bazı araçlar her 76 karakterde bir satır sonu ekler. Kod çözmeden önce satır sonlarını kaldır.
  • - ya da _ gibi karakterler reddediliyor. Metin URL güvenli alfabeyi kullanıyor. -’yi + ve _’yi / ile değiştir ya da ikisini de kabul eden bir çözücü kullan.
  • Sonda = eksik. Bazı sistemler dolguyu atar. Uzunluk dördün katı olana kadar = işareti ekle.
  • Çözülen metinde tuhaf karakterler görünüyor. Özgün metin farklı bir karakter kodlamasındaydı. Bugün metinlerin çoğu UTF-8’dir; önce onu dene.

Bu kılavuzdaki araçlar

Diğer kılavuzlar