Z85 Kodlayıcı
Z85 (ZeroMQ base-85) dizesi olarak kodlamak için metin girin.
Sonuç
Nasıl hesaplanır?
Metin ham UTF-8 baytları olarak okunur. Bayt sayısı 4'ün katı değilse sonuna 4'ün katı olana kadar sıfır baytı (0x00) eklenir. Her 4 baytlık grup tek bir büyük-endian 32 bit sayı olarak okunur: V = b1·256³ + b2·256² + b3·256 + b4; bu sayı en anlamlı basamak başta olacak şekilde beş base-85 basamağıyla yazılır: V = d1·85⁴ + d2·85³ + d3·85² + d4·85 + d5. 0 ile 84 arasındaki her basamak, Z85 alfabesinde o sıradaki karakterle değiştirilir; alfabe 0-9, a-z, A-Z ile başlar, ardından noktalama gelir (.-:+=^!/*?&<>()[]{}@%$#). Çıktıda eklenen dolgu gösterilir; böylece kodlanmış dizenin özgün veriden uzun olduğunu görürsünüz. Boş giriş sonuç vermez. Dolgu çıktıda işaretlenmez, bu yüzden çözücü onu gerçek sıfır baytlarından ayıramaz.
Örnek hesaplama
Hello girişi 5 bayttır, 8'e tamamlamak için 3 sıfır baytı eklenir. 1. grup "Hell" = 0x48656C6C = 1.214.606.444 olup base 85'te 23, 22, 66, 52, 49 basamaklarını ve nm=QN karakterlerini verir. 2. grup "o" artı üç sıfır baytı = 1.862.270.976, basamaklar 35, 57, 33, 65, 26 ve karakterler zVx+q'dur. Birleşince: nm=QNzVx+q; araç 5 bayt (dolguyla 8) ve 3 sıfır bayt dolgu bildirir.
Sık yapılan hatalar
- Çıktının tam olarak özgün metne geri çevrilebileceğini sanmak: sıfır dolgusu işaretlenmediği için çözme, dolgulu baytları ve sondaki NUL karakterlerini geri verir.
- Bayt yerine karakter saymak: aksanlı ya da Latin olmayan harfler UTF-8'de 2 ile 4 bayt tutar; örneğin "ğ" 2 bayttır ve uzunluğu ile dolguyu değiştirir.
- Z85'i Adobe Ascii85 ya da Python ve git'in base85'iyle karıştırmak: alfabeler farklıdır, dizeler birbirinin yerine kullanılamaz.
- Kodlamayı şifreleme sanmak. Bu, hiçbir gizlilik sağlamayan geri çevrilebilir bir gösterimdir.
- Bir ZeroMQ anahtarını yapıştırıp değişmeden çıkmasını beklemek; Z85 anahtarlar zaten kodludur, tekrar kodlamak farklı ve daha uzun bir dize üretir.
Bu hesaplama hakkında
Z85, ZeroMQ projesinin ZMTP/spec:32 özelliğinde tanımlanan, ikiliden metne base-85 kodlamasıdır ve ikili veriyi base64'ten daha yoğun biçimde yazdırılabilir ASCII'ye paketlemek için tasarlanmıştır: base64 veriyi yaklaşık %33 büyütürken, Z85'in 85 sembollük alfabesi veriyi yalnızca %25 büyütür ve her 4 baytlık girdiyi tam olarak 5 çıktı karakterine kodlar.
Bu 4 baytlık gruplama sabit olduğundan, Z85 girdi uzunluğunun 4 baytın katı olmasını gerektirir; bu yüzden kodlayıcılar dönüştürmeden önce daha kısa girdileri sıfırla tamamlar. Z85, en çok ZeroMQ'nun kendi CURVE güvenlik açık ve gizli anahtarları için kullandığı kodlama olarak bilinir; bu, anahtarları düz metin olarak yazdırmayı, günlüklemeyi veya yapıştırmayı güvenli hale getirir.
Bu faydalı oldu mu?
En fazla 3 tepki seçebilirsiniz.
Popüler hesaplayıcılar
Kredi Hesaplama
Aylık taksit, toplam faiz ve ödeme planını hesaplayın.
Yüzde Hesaplama
Yüzde değişim, indirim ve oran hesaplamaları.
İndirim Hesaplama
İndirimli fiyatı, kazancı ve indirim tutarını hesaplayın.
Vücut Kitle Endeksi (VKİ)
Boy ve kiloya göre vücut kitle endeksini hesaplayın.
Yaş Hesaplama
Doğum tarihinden bugüne tam yıl, ay ve gün cinsinden yaşınızı hesaplayın.
Bileşik Faiz Hesaplama
Ana para, faiz oranı ve süreye göre bileşik faizle nihai tutarı hesaplayın.
Tüm Hesaplayıcılar
- Kredi Hesaplama
- Kar Hesaplama
- İndirim Hesaplama
- Vücut Kitle Endeksi (VKİ)
- Yüzde Hesaplama
- İdeal Kilo Hesaplama
- Yaş Hesaplama
- Gebelik Hesaplama
- Bileşik Faiz Hesaplama
- Bazal Metabolizma (BMR) Hesaplama
- Bahşiş Hesaplama
- Yakıt Maliyeti Hesaplama
- Tarih Farkı Hesaplama
- Uyku Döngüsü Hesaplama
- Günlük Su İhtiyacı Hesaplama
- Basit Faiz Hesaplama
- Kalp Atış Hızı Bölgeleri Hesaplama
- Koşu Temposu Hesaplama
- Evcil Hayvan Yaşı Hesaplama
- Kalori Yakım Hesaplama
- Makro Besin Dağılımı Hesaplama
- TDEE (Toplam Günlük Enerji İhtiyacı) Hesaplama
- Bel-Kalça Oranı Hesaplama
- Takdir ve Teşekkür Belgesi Hesaplama
- Tek Tekrar Maksimum (1RM) Hesaplama
- Yumurtlama (Ovülasyon) Hesaplama
- Elektrik Maliyeti Hesaplama
- Birim Fiyat Hesaplama
- Tasarruf Hedefi Hesaplama
- Başabaş Noktası Hesaplama
- Boya Hesaplama
- Vize-Final Ortalama Hesaplama
- İş Günü Hesaplama
- Saat Farkı (Süre) Hesaplama
- Yakıt Tüketimi Hesaplama
- Sıcaklık Birimi Çevirici
- Fayans (Seramik) Hesaplama
- En-Boy Oranı Hesaplama
- Roma Rakamı Çevirici
- Hedef Kilo Süresi Hesaplama
- Maaş Çevirici (Saatlik-Yıllık)
- Kredi Kartı Doğrulama (Luhn)
- Vücut Yüzey Alanı (BSA) Hesaplama
- Hissedilen Sıcaklık Hesaplama
- Ohm Kanunu Hesaplama
- PPI (Piksel Yoğunluğu) Hesaplama
- Molar Kütle Hesaplama
- Burç Hesaplama (Batı + Çin)
- IBAN Doğrulama
- Ayakkabı Numarası Dönüştürücü
- Ülke Bilgisi (Telefon Kodu) Sorgulama
- Saat Dilimi Farkı (Dünya Saati)
- CAGR (Bileşik Yıllık Büyüme) Hesaplama
- 72 Kuralı Hesaplama
- Kandaki Alkol (Promil) Hesaplama
- Yağsız Vücut Kütlesi (LBM) Hesaplama
- Pisagor Teoremi Hesaplama
- Hız Birimi Dönüştürücü
- İndirme Süresi Hesaplama
- Tarih Hesaplama (Gün Ekle/Çıkar)
Hesaplayıcı bulunamadı
Yorumlar (1)
Z85 her dört baytı beş karaktere çevirir; bu yüzden çıktı girdiden yüzde 25 uzundur ve hazır Hello metni 8 bayta tamamlandıktan sonra 10 karakter olur. Alfabe tırnak ve ters eğik çizgiden kaçındığı için kaynak kod dizelerine uygundur, ama ve işareti ile küçüktür ve büyüktür işaretlerini içerir; HTML ya da XML içinde kaçış gerekir. Gösterilen dolgu sayısını saklayın, çünkü çözücünün buna ihtiyacı olur. Çıktıyı nereye gömmeyi planlıyorsunuz?