Base85 Kodlayıcı ve Çözücü
Base85 dört byte’ı beş ASCII karakterine sıkıştırır; 64 yerine 85 karakterlik alfabe kullandığı için Base64’ün 3-e-4 oranından daha yoğundur. Adobe’nin Ascii85 varyantı her PostScript ve PDF dosyasının içinde bulunur; daha yeni Z85 (ZeroMQ) varyantı C stringleri ve XML içinde bozan karakterlerden kaçınır. Bu araç ikisini de isteğe bağlı sınırlayıcılarla kodlar ve çözer.
Base85 nasıl dönüştürülür
-
1
Varyantı seçin
PDF/PostScript varlıkları için Ascii85; kaynak kodu ve ağ protokolleri için Z85.
-
2
Metin yapıştırın veya dosya yükleyin
Encode yönü ham byte alır; decode yönü Base85 stringi alır.
-
3
Kodlayıcı 4 byte'lık bloklara böler
Her 4-byte blok 5 karakterlik Base85 stringine dönüşür. Son blok padding alır ve kırpılır.
-
4
Sonucu kopyalayın
Ascii85 isteğe bağlı olarak `<~` ve `~>` sınırlayıcılarıyla sarılır; Z85 sınırlayıcısızdır.
Boyut ek yükü karşılaştırması
| Kodlama | 4 byte başına karakter | İkiliye göre ek yük |
|---|---|---|
| Hex | 8 | +100% |
| Base64 | 5.33 (padding ile 8’e yuvarlanır) | +37% |
| Base85 | 5 | +25% |
| Ham ikili | 4 | 0 |
Böylece 1 MB ikili veri Base85’te 1.25 MB, Base64’te 1.33 MB, hex’te 2 MB olur.
Ascii85 ve Z85 alfabeleri
Ascii85 (RFC 1924 / Adobe): ASCII’de ! ile u arasındaki karakterler (33-117), ayrıca 4 sıfır byte için kısayol olarak z. PostScript ve PDF stream’lerinde kullanılır, <~...~> olarak sarılır.
Z85 (ZeroMQ): Tırnak karakterlerinden ve escape’lerden kaçınan bir alt küme:
0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.-:+=^!/*?&<>()[]{}@%$#
JSON, XML, C stringleri ve kaynak kod içine escape gerektirmeden gömmek için güvenlidir.
Matematik nasıl çalışır
Her 4 byte big-endian 32-bit tam sayı N olarak okunur. 5 çıktı karakteri, N değerinin 85 tabanındaki rakamlarıdır; en anlamlı olan önce gelir. 85^5 = 4 437 053 125, 2^32 değerinden büyüktür; bu yüzden 4 byte her zaman 5 karaktere sığar.
Ascii85 ne zaman önemlidir
Herhangi bir PDF’yi metin editöründe açıp ASCII85Decode arayın; Adobe bunu 7-bit taşıma yolundan (eski faks tarzı sistemler) sağ çıkması gereken gömülü görüntüler ve fontlar için filtre olarak kullanır. Z85, ZeroMQ CURVE kimlik doğrulama anahtarlarında yaygın kullanılır.
Özel durumlar
- Tamamı sıfır 4-byte blok — Ascii85 bunu
!!!!!yerine tekzkarakteri olarak kodlar. - Tamamı boşluk 4-byte blok — Bazı varyantlar dört boşluk için
ykullanır, bazıları kullanmaz. - Son kısmi blok — Sıfır byte’larla tamamlanır ve karşılık gelen çıktı karakteri sayısı sonda kırpılır.
Sık Sorulan Sorular
Daha küçük çıktı, evet. Evrensel uyumluluk, hayır. Base85, XML, JSON ve URL’lerde escape gerektiren <, >, &, " (Ascii85 içinde) gibi karakterler içerir. Z85 bundan kaçınır, ama çoğu araç Base64’ü doğal olarak konuşur.
PostScript veya PDF dosyalarıyla çalışıyorsanız Ascii85. Kaynak kodu, config dosyaları ve ağ protokolleri için Z85. RFC 1924 IPv6 kodlaması aynı 85 karakterin farklı bir atamasıdır ve pratikte nadiren kullanılır.
Hayır. Farklı alfabeler kullanırlar. Ascii85’i Z85 tablosuyla çözmek çöp üretir. Kodlamadan önce birini seçin ve ona sadık kalın.
PDF veya PostScript stream’lerinde Adobe Ascii85 için evet; kodlanmış bölgeyi işaretlerler. Bağımsız kullanımda ve tüm Z85 çıktılarında sınırlayıcı gerekmez.
İlgili Araçlar
A1Z26 Şifre Kodlayıcı
A1Z26 şifresiyle (A=1, B=2, ... Z=26) metni kodlayın veya sayı dizisini özel ayraçla tekrar harflere çözün.
AES Şifrele / Şifre Çöz
Düşük riskli metni OpenSSL AES şifreleriyle şifreleyin ve çözün. Parola cümlesi SHA-256 ile özetlenir; Base64 çıktı IV artı şifreli metin içerir.
Atbash Şifre Kodlayıcı
Metni Atbash şifresiyle kodlayın veya çözün; A-Z harflerini Z-A ile eşleyen İbrani kökenli bir yerine koyma şifresidir. Aynı işlem hem şifreler hem çözer.
Base32 Kodlayıcı ve Çözücü
RFC 4648 alfabesini kullanarak Base32 stringlerini kodlayın ve çözün. TOTP secret'ları, büyük/küçük harf duyarsız token'lar ve insanın yazdığı tanımlayıcılar için kullanışlıdır.
bcrypt Oluşturucu
Düz metin paroladan bcrypt hash üretin. 4 ile 14 arasında ayarlanabilir cost faktörü; Laravel, Django, Node ve PHP ile uyumludur.
bcrypt Hash Oluşturucu
bcrypt hash üretin veya düz metin parolayı mevcut bir bcrypt hash'e karşı doğrulayın. Tek araçta yan yana üretme ve doğrulama.