طريقة الاستخدام
- اختر «ترميز» لإنتاج كتلة xxencode، أو «فك الترميز» لإعادتها إلى بيانات.
- أبقِ «سطرا begin / end» مفعّلًا وحدّد «اسم الملف» للحصول على كتلة كاملة، أو أوقفه للحصول على أسطر البيانات فقط.
- اكتب المدخلات أو الصقها، أو افتح ملفًا. تتحدّث النتيجة فور الكتابة.
- انسخ النتيجة أو نزّلها. وعند فك الترميز، اختر «ست عشري» في «صيغة المخرجات» أو نزّل الملف إذا لم تكن البيانات نصًا.
ما هو xxencode؟
يحافظ Xxencode على بنية uuencode ولا يغيّر إلا الأحرف. فلا تزال كل 3 بايتات تصبح أربع قيم من 6 بت، ولا يزال كل سطر بيانات يحمل حتى 45 بايتًا بعد حرف يدل على الطول، ولا تزال الكتلة محصورة بين سطر begin 644 name وسطر end.
تُقابَل القيم الـ 64 بالأحرف + و- والأرقام 0-9 والأحرف الكبيرة A-Z والأحرف الصغيرة a-z، بهذا الترتيب. ويستخدم حرف الطول الجدول نفسه، لذا يبدأ السطر الكامل المكوّن من 45 بايتًا بالحرف h، والسطر الفارغ الذي يسبق end هو حرف + واحد. ولأن البنية متطابقة، يكون حجم المخرجات مثل uuencode: أكبر من المدخلات بنحو 38%، باحتساب أحرف الطول وفواصل الأسطر.
لماذا أُنشئ xxencode
تمتلئ مخرجات uuencode بعلامات ترقيم مثل [ و] و\ و^ و!. وتستخدم الحواسيب المركزية من IBM ترميز EBCDIC بدلًا من ASCII، وتقع هذه الأحرف في مواضع مختلفة في صفحات ترميز EBCDIC المختلفة. وعندما كان البريد يمر عبر البوابات بين شبكات ASCII وEBCDIC، كانت هذه الأحرف قد تُحوَّل بشكل خاطئ فيتلف الملف.
أما الأحرف والأرقام وعلامتا الجمع والطرح فهي نفسها في جميع صفحات ترميز EBCDIC، لذا يتحوّل النص المرمّز بـ xxencode بسلامة في الاتجاهين. وقد حقق MIME الهدف نفسه لاحقًا: إذ لا يستخدم Base64 أيضًا إلا الأحرف والأرقام وبضعة رموز متطابقة في ASCII وEBCDIC. ولم ينتشر xxencode قط بقدر انتشار uuencode، وفي النهاية حلّ Base64 محلهما معًا.
مقارنة بين uuencode وxxencode
| Uuencode | Xxencode | |
|---|---|---|
| الأحرف | ASCII من 32 إلى 95، وعلامة اقتباس خلفية للصفر | + - 0-9 A-Z a-z |
| بداية السطر الكامل (45 بايتًا) | M | h |
| آخر سطر قبل end | ` | + |
| آمن عبر بوابات EBCDIC | لا | نعم |
المواصفات
| الأبجدية | + - 0-9 A-Z a-z |
|---|---|
| حجم المخرجات | نحو 137% بما في ذلك بادئات الأسطر |
| الحشو | أسطر لا تتجاوز 45 بايت |
| المعيار | xxencode |
| حساس لحالة الأحرف | نعم |
أمثلة
| المدخلات (UTF-8) | المخرجات |
|---|---|
Hello, World! | begin 644 data.bin
BG4JgP4wg63RjQalY6E++
+
end |
Base64.is | begin 644 data.bin
7Ea3nNHMo9aZn
+
end |
你好 | begin 644 data.bin
4t9qUtOKx
+
end |
الأسئلة الشائعة
كيف أميّز بين uuencode وxxencode؟
h. أما أسطر uuencode فتحتوي على علامات ترقيم، وتبدأ الأسطر الكاملة بالحرف M. وإذا فشل فك الترميز هنا مع خطأ «حرف غير صالح»، فجرّب صفحة uuencode.هل تكتب الأداة سطري begin وend؟
begin 644 مع اسم الملف الذي تدخله، والأسطر الختامية. أوقف هذا الخيار إذا كنت تحتاج إلى أسطر البيانات المرمّزة فقط.هل يمكنني فك ترميز كتلة دون سطر begin؟
نعم. بدون سطر begin، يُفك ترميز كل سطر غير فارغ على أنه بيانات. ومع وجوده، يبدأ فك الترميز بعده ويتوقف عند سطر end، فيُتجاهل النص المحيط.