> unix | klasik | legacy <
// UUencoding – metin tabanlı kanallarda ikili veriyi taşımak için Unix-to-Unix kodlama formatı
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ı.
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.
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
| Ad | Açıklama |
|---|---|
| Length char | byte count + 32 (45 bytes -> M) |
| Group | 3 bytes -> 4 chars, each 6 bits + 32 (space..underscore) |
| Zero value | backtick ` instead of space |
| Line | up to 45 bytes -> 60 chars |
| Header | begin 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.