Perły do lamusa

Kiedy powstawały protokoły obsługujące pocztę elektroniczną i grupy dyskusyjne (SMTP i NNTP), powszechnie używano znaków z tzw. zbioru US-ASCII, kodowanych na siedmiu bitach. Usługi te zostały więc przystosowane wyłącznie do transportowania danych tekstowych. Gdy pojawiła się potrzeba wymiany w ten sposób zbiorów binarnych, opracowano standardy kodowania, takie jak UUencode, BASE64 czy BinHex, które transformowały bajty pliku w znaki US-ASCII, unikając przy okazji niektórych symboli kontrolnych. Efektem ubocznym stało się zwiększenie objętości zbiorów i czasu ich transmisji o około 30-40%.

Po pewnym czasie Usenet stał się zdolny do transportowania prawie wszystkich znaków (pomijając nieliczne kontrolne), ale sposoby kodowania się nie zmieniły. Opracowano więc nowy standard – yEnc, który nie ma wad swoich poprzedników.

Szybciej, taniej, pewniej

Jak działa dekoder yEnc? Na początku i końcu zbioru dołącza małą informację (zawierającą m.in. nazwę zbioru), zastępuje znaki NULL, TAB, LF, CR oraz = odpowiednio sekwencjami =@, =I, =J, =M i =}, do wartości pozostałych bajtów dodaje 42, a całość dzielimy modulo 256. Dzięki takim zabiegom zakodowane pliki tylko minimalnie zwiększają swą objętość. To jednak nie wszystkie zalety nowego standardu.

Bolączką użytkowników grup binarnych są m.in. uszkodzone pliki. yEnc podczas kodowania dołącza informacje kontrolne, tzw. CRC, które pozwalają zweryfikować, czy zawartość zbioru nie uległa zmianie podczas transmisji. Aby pobieranie i wysyłanie binariów było łatwiejsze lub w ogóle możliwe, często dzielone są one na części. Dekodery yEnc obsługują mechanizm dzielenia i łączenia większych plików. Jeżeli pobraliśmy części o różnych rozmiarach, ale zawierające cały zbiór, za pomocą yEnc nadal możemy łatwo uzyskać wyjściowy film czy utwór MP3.

Pisz do Redmond

yEnc nie koliduje z istniejącą infrastrukturą – zakodowane pliki bez problemu “przechodzą” przez wszystkie serwery. Rozwiązanie to powoli staje się standardem, bo spora część plików jest kodowana właśnie w ten sposób. Co prawda najpopularniejszy czytnik (Outlook Express) go nie obsługuje, ale już powszechnie używany w Stanach Forte Agent tak. Użytkownicy innych czytników mogą korzystać z zewnętrznych programów. Fanom Outlook Expressa autor yEnc radzi jedno – piszcie listy do Microsoftu, by Wasz program pozwolił łatwo pobierać z Usenetu binaria.

Więcej:bezcatnews