UUENCODE(5) File Formats Manual UUENCODE(5)

uuencode - قالب یک فایل کدگذاری‌شده با uuencode

فایل‌های خروجی تولیدشده توسط uuencode(1) شامل یک سطر سرآیند (header)، به دنبال آن تعدادی سطر بدنه (body) و یک سطر پایانی (trailer) هستند. دستور uudecode(1) هر سطری را که پیش از سرآیند یا پس از سطر پایانی باشد نادیده می‌گیرد. البته سطور پیش از سرآیند نباید شبیه به یک سرآیند باشند.

سطر سرآیند با داشتن ۵ نویسه اول به صورت begin که به دنبال آن یک فاصله یا یک خط تیره و یکی از مقادیر base64 یا encoded یا هر دو (که آن‌ها نیز با خط تیره از هم جدا شده‌اند) می‌آید، مشخص می‌شود. گزینه base64 بیانگر آن است که فایل با استفاده از base64 کدگذاری شده است. گزینه encoded نشان می‌دهد که نام فایل خروجی با base64 کدگذاری شده است؛ این نام هرگز با کدگذاری سنتی uuencode کدگذاری نمی‌شود. این یک افزونه گنو (GNU) است. پس از این موارد، حالت دسترسی فایل (در مبنای ۸ یا اکتال) و رشته‌ای که نام فایل مقصد را مشخص می‌کند قرار می‌گیرند. حالت دسترسی با یک نویسه فاصله از عبارت begin و نام فایل جدا می‌شود.

بدنه فایل سنتی uuencode شامل تعدادی سطر است که طول هر یک حداکثر ۶۲ نویسه (با احتساب نویسه خط جدید پایانی) است. این سطرها شامل یک نویسه شمارش، نویسه‌های کدگذاری‌شده و در نهایت یک نویسه خط جدید هستند. نویسه شمارش، یک نویسه منفرد قابل چاپ است و یک عدد صحیح را نشان می‌دهد که بیانگر تعداد بایت‌هایی است که بقیه سطر نمایش می‌دهند. چنین اعداد صحیحی همیشه در بازه 0 تا 63 هستند و می‌توان آن‌ها را با کم کردن نویسه فاصله (octal 40) از مقدار عددی آن نویسه به دست آورد.

گروه‌های ۳ بایتی در ۴ نویسه، با ۶ بیت به ازای هر نویسه ذخیره می‌شوند. همه نویسه‌ها با یک فاصله شیفت داده می‌شوند تا به نویسه‌های قابل چاپ تبدیل گردند. آخرین سطر ممکن است کوتاه‌تر از مقدار معمول ۴۵ بایت باشد. اگر اندازه داده‌ها مضربی از ۳ نباشد، این موضوع را می‌توان از مقدار شمارش در سطر پایانی تشخیص داد. داده‌های زائد اضافی گنجانده می‌شوند تا تعداد نویسه‌ها به مضربی از ۴ برسد. بدنه با سطری خاتمه می‌یابد که شمارش آن صفر است. این سطر از یک نویسه فاصله اسکی تشکیل شده است.

سطر پایانی تنها شامل کلمه end در یک سطر مستقل است.

فایل‌های کدگذاری‌شده با base64 از قالب مشخص‌شده برای بدنه پیروی می‌کنند، اما شامل سرآیند begin-base64 و یک سطر پایانی متشکل از چهار نویسه = هستند.

begin-base64-encoded 644 VE9ETw==

این سطر نشان‌دهنده یک فایل کدگذاری‌شده با base64 به نام TODO است که نام آن نیز با استفاده از کدگذاری base64 رمز شده است.

begin-encoded 644 5$]$3P``

این سطر نشان‌دهنده یک فایل کدگذاری‌شده به نام TODO است که نام آن با استفاده از uuencode رمز شده است. این نوع کدگذاری بسیار ناخواناتر است؛ لطفاً کدگذاری base64 را ترجیح دهید.

استاندارد IEEE Std 1003.1، به همراه افزونه‌ها.

پسوند -encoded به سطر سرآیند begin یک افزونه گنو است. دریافت‌کنندگان باید برنامه uudecode گنو را برای رمزگشایی آن‌ها داشته باشند.

uuencode(1), uudecode(1), base64(1GNU)

قالب فایل uuencode نخستین بار در BSD 4.0 ظاهر شد.