> unix | klasik | legacy <

// UUencoding – metin tabanlı kanallarda ikili veriyi taşımak için Unix-to-Unix kodlama formatı

[UNIX]

Klasik Unix standardı

Unix sistemlerinde onlarca yıl boyunca e‑posta ekleri, Usenet gönderileri ve dosya transferleri için kullanılan tarihsel kodlama şeması.

[UYUMLU]

Geniş uyumluluk

Pek çok Unix/Linux aracının ve eski e‑posta istemcisinin UUencode biçimini doğal olarak desteklemesi sayesinde eski sistemlerle kolay entegrasyon sağlar.

[KENDİNE YETERLİ]

Kendi kendini tanımlayan format

begin/end satırlarında dosya adı ve izinlerini içerir; böylece alıcı tarafta özgün dosyayı yeniden oluşturmak kolaylaşır.

>> teknik ayrıntılar

UUencoding nasıl çalışır?:

UUencoding, boşluk (ASCII 32) karakterinden başlayan yazdırılabilir karakterleri kullanarak ikili veriyi ASCII metne dönüştürür. Base64 gibi 3 baytı 4 karaktere kodlar, ancak farklı bir karakter kümesi kullanır ve begin/end satırlarında dosya meta verilerini taşır.

Örnek:

"Hello" → begin 644 data\n%2&5L;&\\`\n`\nend

Neden UUencoding kullanmalı?:

  • >Eski Unix/Linux betikleri ve iş akışlarıyla uyumluluğu korumak için
  • >Metin tabanlı kanallarda dosya adı ve izin bilgilerini korumak için
  • >Eski e‑posta arşivlerini ve Usenet veri setlerini analiz ederken
  • >Mevcut sistemlerin UUencode biçimini beklediği entegrasyon senaryolarında
  • >Geçmiş protokolleri ve veri akışlarını birebir yeniden üretmek için

>> sık sorulan sorular

UUencoding nedir?

UUencoding (Unix-to-Unix encoding), yalnızca metin kabul eden kanallar (örneğin e‑posta ve Usenet) üzerinden ikili dosyalar göndermek için tasarlanmış bir ikili→metin kodlama şemasıdır.

UUencoding, Base64'ten nasıl farklıdır?

Her ikisi de 3 baytı 4 karaktere kodlar, ancak UUencoding boşluktan (ASCII 32) başlayan farklı bir karakter kümesi kullanır ve begin/end satırlarında dosya adı ve izinleri gibi meta veriler taşır.

Günümüzde UUencoding kullanmaya hâlâ gerek var mı?

Modern projelerde genellikle Base64 tercih edilse de, UUencode desteği eski sistemleri, arşivleri ve logları yöneten geliştiriciler için hâlâ kritik olabilir.

Bu aracı kimler kullanmalı?

Eski Unix tabanlı altyapıları yöneten DevOps/SRE ekipleri ve veri geçişi ya da arşiv analizi yapan geliştiriciler için idealdir.

// Hızlı başvuru

AdAçıklama
Length charbyte count + 32 (45 bytes -> M)
Group3 bytes -> 4 chars, each 6 bits + 32 (space..underscore)
Zero valuebacktick ` instead of space
Lineup to 45 bytes -> 60 chars
Headerbegin 644 filename
Trailer` line, then end

// Çözümlü örnek

Input   Cat      (0x43 0x61 0x74)
Bits    010000 110110 000101 110100  = 16 54 5 52
+32     48 86 37 84  ->  0 V % T
Line    #0V%T        (# = 3 bytes + 32)

begin 644 cat.txt
#0V%T
`
end

>> Daha fazla soru

S: UUencode nedir?

C: Unix’in tarihsel bir yöntemi (“Unix-to-Unix encode”); ikili veriyi e-posta veya Usenet ile gönderebilmek için yazdırılabilir ASCII karakterlere çevirir. 3 bayt 4 karakter olur, yaklaşık %33 ek yük.

S: UUencode, Base64’ten nasıl farklıdır?

C: İkisi de 3 baytı 4 karaktere çevirir. UUencode her 6 bitlik değere 32 ekler (boşluktan “_” karakterine kadar), Base64 A–Z a–z 0–9 + / kullanır. UUencode ayrıca her satıra uzunluk karakteri ve dosya adı ile izinleri içeren begin/end satırları ekler.

S: UUencode hâlâ kullanılıyor mu?

C: Nadiren. E-postada Base64 kullanan MIME büyük ölçüde onun yerini aldı. Eski Usenet arşivlerinde ve Unix’in uuencode/uudecode araçlarında görülür. Yeni işler için Base64 daha iyidir.

Diğer diller