yEnc Çözücü

Çözmek için yEnc ile kodlanmış bir metni yapıştırın.

Nasıl hesaplanır?

Çözücü önce =ybegin, =ypart ya da =yend ile başlayan satırları (bunlar üst veridir) atar, sonra kalan satırları birleştirir; çünkü satır sonları veri değildir. Metni karakter karakter okur. Kodu c olan normal bir karakter (c − 42) mod 256 baytına dönüşür. Kaçış karakteri =, kendinden sonraki kodu c olan karakteri (c − 64 − 42) mod 256 değerine çevirir; metin içinde sorun çıkaracak baytlar (NUL, LF, CR ve = karakterinin kendisi gibi) bu yolla taşınır. En sondaki tek bir = yok sayılır. Ortaya çıkan baytlar geçerli, yazdırılabilir bir metinse araç bu metni gösterir; kontrol karakteri ya da geçersiz UTF-8 içeriyorsa baytları boşlukla ayrılmış hex çiftleri olarak gösterir. Bayt sayısı da bildirilir. Araç yalnızca başlık satırlarını atlar: dosya adını ya da parça aralığını okumaz, boyut veya CRC denetimi yapmaz.

Örnek hesaplama

Kodlanmış rovvy metnini yapıştırın. Her harfin kodundan 42 çıkarılır: r (114) 72, o (111) 69, v (118) iki kez 76 ve y (121) 79 verir. 72, 69, 76, 76, 79 bayt değerleri H, E, L, L, O harfleridir. Kontrol karakteri içermedikleri için araç bunları metin olarak gösterir: HELLO, bayt sayısı 5 bayt. Gerçek bir dosyanın verisi genellikle kontrol ya da metin olmayan baytlar içerir; bu yüzden normalde hex olarak görünür.

Bu örneği dene →

Sık yapılan hatalar

  • İndirilebilir bir dosya beklemek. Araç, metin ya da hex olarak okuyacağınız kısa bir parça içindir; görüntü gibi ikili bir dosya dosya olarak değil, hex listesi olarak çıkar.
  • Başlık sözcüğünün önüne boşluk ya da başka bir karakter koymak. Yalnızca tam olarak =ybegin, =ypart veya =yend ile başlayan satırlar atlanır; başında boşluk olan " =ybegin" veri gibi çözülür ve anlamsız baytlar ekler.
  • Karakterleri değiştiren bir programdan geçmiş metni kullanmak; örneğin ASCII dışı baytları değiştiren ya da boşlukları kırpan bir e-posta istemcisi. Tek bir değişen ya da eksik karakter çıktıyı kaydırır veya bozar.
  • Bir karakterin önündeki = kaçışını atlamak. Tek başına bir = sonraki karakteri tüketir; bir tane silmek ya da eklemek ondan sonraki karakterin anlamını kaydırır.
  • yEnc'i Base64 ile karıştırmak. Bunlar farklı biçimlerdir; Base64 metni burada ilgisiz baytlara çözülür ve araç sizi uyarmaz. CRC de denetlenmediği için bozuk bir parça hata mesajı olmadan çözülür.

Bu hesaplama hakkında

yEnc, ikili dosyaları (görüntü, video, arşiv) Usenet’e eski yöntemlerden daha verimli bir şekilde göndermek için özel olarak tasarlanmış bir ikiliden-metne kodlama şemasıdır. Base64 veya uuencode, ham baytları kısıtlı, yazdırılabilir bir ASCII alfabesine eşlediği için dosya boyutunu yaklaşık %33-40 şişirirken, yEnc her bayt değerini 42 kaydırarak (mod 256) çoğu baytın doğrudan yazdırılabilir aralığa düşmesini sağlar ve yalnızca satır tabanlı metin aktarımını bozacak birkaç baytı (NUL, LF, CR ve “=” kaçış karakterinin kendisi gibi) kaçış karakteriyle işaretler — bu sayede yük yaklaşık %1-2’de kalır.

Bu çözücü, bu temel “=” kaçış mekanizmasını işler ve yEnc ile kodlanmış bir dizeyi metne veya hex’e geri çevirir; ancak basitleştirilmiştir: tam bir Usenet ikili gönderisinin dosya adını, parça numarasını ve CRC sağlama toplamını belirtmek için kullandığı =ybegin/=ypart/=yend başlık satırlarını okumadan ve denetlemeden atlar. Usenet haber okuyucu yazılımı geliştiren veya hata ayıklayan herkes ya da yEnc ile kodlanmış bir parçayı elle çözmek isteyen herkes için kullanışlı bir araçtır.

Bu faydalı oldu mu?

En fazla 3 tepki seçebilirsiniz.

Yorumlar

  • İlk yorumu siz yazın.

Popüler hesaplayıcılar

Tüm Hesaplayıcılar