مشفّر xxencode
يجمع «Hello, world!» في كتلة xxencode كلاسيكية مع سطر begin 644 hello.txt، مستخدمًا الزائد والناقص والأرقام والحروف فقط حتى لا تفسدها بوابات EBCDIC، ويعيد هذه الكتل إلى نص. مجانية في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- النص
- Hello, world!
- وضع الحساب
- Encode
- اسم الملف
- hello.txt
- النتيجة
- begin 644 hello.txt BG4JgP4wg65RjQalY6E++ + end
- الترميز
- xxencode
- البايتات
- 13
xxencode ترميز كلاسيكي من ثنائي إلى نصّ قريب من uuencode، لكنه يستبدل أبجدية uu المثقلة بالمسافات بمجموعة من أربعة وستين رمزاً مكوّنة فقط من زائد وناقص وأرقام وحروف. صُمّم هذا الشكل الأبجدي الرقمي حتى لا تُفسد بوابات البريد وأنظمة EBCDIC الحمولات كما كانت تفعل غالباً مع تدفقات uuencode. يبحث المستخدم عن مشفّر أو مفكّك xxencode عند استعادة أرشيف بريد قديم، أو التوافق مع أدوات نقل Unix، أو تدريس تاريخ الترميز إلى جانب Base64، أو الحاجة إلى حزم حتمي آمن نصّياً لرسائل UTF-8 قصيرة. الترميز هو UTF-8 خالص ثم حزم بست بتّات؛ والفك يقبل أغلفة begin وend الاختيارية، ويزيل الأسطر الفارغة، ويرفض الرموز غير القانونية بدل إصلاحها بصمت.
ترميز نص UTF-8 إلى xxencode كلاسيكي
يفسّر المحرّك السلسلة كنص Unicode، ويُسلسلها إلى بايتات UTF-8، ثم يلفّ تلك البايتات بالشكل الكلاسيكي begin وend الذي استخدمته أدوات xxencode التاريخية. يبدأ كل سطر في الجسم بحرف طول مأخوذ من الأبجدية نفسها ذات الأربعة والستين رمزاً، تليه مجموعات من أربعة أحرف تحزم ثلاثة بايتات بيانات في أربعة وعشرين بتّاً من فهارس بست بتّات. تحمل الأسطر خمساً وأربعين بايت بيانات كحد أقصى، مطابقة لميزانية سطر uuencode المألوفة كي تبقى الرسائل الطويلة مقروءة في عملاء البريد وعارضات السجلات.
الأبجدية نفسها هي زائد وناقص وأرقام من صفر إلى تسعة وحروف A–Z الكبيرة وa–z الصغيرة فقط—بلا مسافات ولا علامات ترقيم كانت بوابات EBCDIC تعيد كتابتها. السلاسل الفارغة صالحة وتنتج كتلة سليمة مع سطر إنهاء بطول صفر. النص متعدد اللغات والرموز التعبيرية وعلامات الترقيم تذهب وتعود لأن المسار UTF-8 كامل وليس اختصار Latin-1.
المدخلات المتطابقة تنتج دائماً مخرجات متطابقة لأن الخوارزمية حسابية خالصة بلا شبكة ولا ملح عشوائي ولا ساعة حائط. استخدموا هذا المسار كلما احتجتم تمثيلاً نصّياً آمناً لـ EBCDIC، أو مثالاً تعليمياً إلى جانب uuencode، أو تجهيزاً يجب أن يطابق بنية أسطر xxencode الكلاسيكية.
فك xxencode إلى نص ومعالجة الإدخال غير الصالح
عيّنوا mode إلى decode وضعوا في text كتلة xxencode كلاسيكية أو تسلسل أسطر جسم فقط. تُتجاهل الأسطر الفارغة في البداية والنهاية حتى تعمل اللصق متعدد الأسطر. تُحلَّل أسطر begin الاختيارية بالشكل begin mode filename لاسم filename المُبلَغ، ويُقبل سطر end ختامي عند وجوده؛ والحِمل بلا أغلفة صالح أيضاً ما دام كل سطر جسم يبدأ بحرف طول من الأبجدية.
الأبجدية صارمة: لا يُقبل إلا الزائد والناقص والأرقام والحروف. تُرفض الأسطر التي تعلن أكثر من خمسة وأربعين بايت بيانات، والمجموعات الرباعية المقطوعة الأقصر من الطول المعلن، أو البيانات بعد مُنهي الطول صفر بالطريقة نفسها. يعيد الفك الناجح result كنص مستعاد، وmode يساوي decode، وencoding يساوي xxencode، وbytes كطول UTF-8 المفكوك، وfilename من سطر begin أو data عند غياب الرأس.
فضّلوا هذه القدرة عندما تكون نية البحث حرفياً مشفّر xxencode أو مفكّك xxencode أو بديلاً آمناً لـ EBCDIC عن uuencode للمحتوى المقروء؛ وتبقى Base64 وAscii85 وuuencode الكلاسيكي أدوات منفصلة بصفحاتها.
أين يفيد xxencode اليوم
استدعوا مشفّر xxencode المجاني في المتصفح لعروض الصف وكتب الدعم وفحوص استعادة الأرشيف والتحويلات لمرة واحدة دون تثبيت حزم Unix تاريخية أو منافذ خاصة بلغة. سير آخر يتحقق قبل الإصدار من أن عيّنة التوثيق ما زالت تُفك إلى النص الصريح الموثّق، مع تثبيت تجهيزات encode وdecode ليلتقط التكامل المستمر أي انحراف عارض في الأبجدية. اقرنوا هذه النقطة بأداة Base64 عندما يتحدث شريك حديث Base64 فقط، لكن أبقوا الخطوات على صفحات منفصلة لتتوافق كل صفحة مع نية بحث واحدة—إرث xxencode وأمان EBCDIC مقابل انتشار Base64.
يتبع نص المصدر قواعد الاحتفاظ نفسها لعناصر parse الأخرى في KIT، والنتائج آمنة للتثبيت في تجهيزات التكامل المستمر لأن الخوارزمية حتمية بالكامل عبر العزلات.
حالات الاستخدام
نقل بريد وأرشيف آمن لـ EBCDIC
رمّزوا حمولات UTF-8 قصيرة بأبجدية xx الأبجدية الرقمية عندما تفسد البوابات أو أنظمة EBCDIC مسافات uuencode الكلاسيكية، ثم فكّوا عند الوصول بنفس حقل mode.
توافق مع xxencode يونكس القديم
أنتجوا أو استهلكوا كتل begin وend كلاسيكية تطابق أدوات xxencode التاريخية لمختبرات الاستعادة والمواد التدريبية والتسليم متعدد المنصات.
الأسئلة الشائعة
كيف نرمّز نصاً بـ xxencode؟
حقل result في الاستجابة يحمل كتلة xxencode الكلاسيكية وbytes هو طول UTF-8.
كيف نفك xxencode إلى نص؟
تُقبل أغلفة begin وend الاختيارية. حقل result هو نص UTF-8 المستعاد وfilename يعكس سطر begin عند وجوده.
ماذا يحدث مع حرف xxencode غير صالح؟
تُرفض الأحرف خارج الأبجدية الآمنة لـ EBCDIC (+ - 0-9 A-Z a-z) والأسطر الطويلة والمجموعات المقطوعة؛ ولا تُحسب إخفاقات التحقق.
ما الفرق بين xxencode وuuencode؟
كلاهما يحزم ثلاثة بايتات في أربعة أحرف بست بتّات مع بادئة طول، لكن xxencode يستخدم أبجدية أبجدية رقمية (+-0-9A-Za-z) لنقل أكثر أماناً عبر أنظمة EBCDIC، بينما يستخدم uuencode الكلاسيكي أبجدية مبنية على المسافات تفسدها بوابات البريد غالباً.
هل يمكنني تحديد اسم الملف في سطر begin؟
نعم، عند الترميز يمكنك إدخال اسم مثل message.txt، وإن لم تفعل يُكتب data. وعند فك الترميز يُعرض الاسم الوارد في سطر begin، وتُقبل أيضًا الكتل التي ليس فيها begin ولا end.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/enc/xxencode \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Hello, world!"}'const res = await fetch("https://api.kit.forhosting.com/enc/xxencode", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Hello, world!"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/xxencode",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Hello, world!"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/xxencode", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Hello, world!"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Hello, world!"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/xxencode", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"text": "Hello, world!"
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.xxencode",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
تؤدّي هذه القدرة ذلك العمل اليومي: اختاروا الوضع encode أو decode، وأرسلوا حقل text، وسمّوا اختيارياً ملف سطر begin، واحصلوا على كتلة begin-and-end كلاسيكية أو النصّ الصريح المستعاد—أو خطأ invalid_input واضح عندما تحتوي حمولة الفك على حرف خارج أبجدية xx. تعمل أداة المتصفح المجانية على جهازكم للفحوص السريعة؛ وتوفّر واجهة API المدفوعة مسبقاً العقد نفسه بسعر $0.002 لكل عنصر ناجح للسكربتات وSDK وتجهيزات التكامل المستمر التي تحتاج خطوة xxencode مستقرة دون تثبيت حزم سطر أوامر قديمة في كل خدمة.
ترميز نص UTF-8 إلى xxencode كلاسيكي
أرسلوا جسم JSON مع حقل السلسلة الإلزامي text مساوياً للرسالة الصريحة التي تريدون تمثيلها بـ xxencode، واتركوا mode على القيمة الافتراضية encode أو عيّنوا mode إلى encode صراحة. يكتب حقل filename الاختياري (الاسم المستعار name وfile) اسماً بسيطاً في سطر begin مثل message.txt؛ وعند الحذف يكون الاسم الافتراضي data. تُقبل الأسماء المستعارة الاختيارية input وvalue وs لحقل text عند توليد عملاء من أسماء نماذج قديمة. تتضمن الاستجابة دائماً result مع كتلة xxencode الكاملة، وmode يساوي encode، وencoding يساوي xxencode، وbytes يساوي طول UTF-8 قبل الترميز، وfilename يعيد اسم سطر begin حتى يمكنكم التحقق من حجم الحمولة وبيانات الرأس في الاختبارات.
فك xxencode إلى نص ومعالجة الإدخال غير الصالح
أي حرف آخر—بما في ذلك مسافات من لصق uuencode أو ترقيم URL أو ضوضاء ثنائية—يسبب فشل invalid_input فورياً برسالة تسمّي شرط حرف xxencode غير صالح، فيصلح العملاء اللصق بدل تلقّي يونيكود تالف. بعد التحقق من الأبجدية والبنية تُفك البايتات المستعادة كـ UTF-8 بمفكّك قاتل: إن لم تكن الحمولة نص يونيكود صالحاً تحصلون على invalid_input بدل أحرف استبدال تفسد العرض لاحقاً. لا تُحسب إخفاقات التحقق على API المدفوعة مسبقاً، ففحص جزء أرشيف مشبوه رخيص للمشغّلين وآمن للمستخدمين النهائيين.
استخدام API والتسعير وسير العمل والحدود العملية
استخدموا API KIT المدفوعة مسبقاً عندما يحتاج خلفية أو دالة بلا خادم أو SDK نفس خطوة الترميز أو الفك تحت الرصيد بسعر $0.002 لكل عنصر ناجح؛ والتحقق الفاشل لا يستهلك رصيداً بعد رفض المحرّك. سير عمل نموذجي يرمّز قيمة إعداد قصيرة أو حمولة عيّنة للتخزين في تذكرة نصّ فقط، ويرسلها بريداً أو دردشة قد تعبر قفزات واعية لـ EBCDIC، ثم يفكّها على الخدمة المستقبِلة بـ mode decode مع التحقق من تطابق bytes مع الطول الأصلي وfilename مع سطر begin. يمكن لمؤلفي SDK ربط حقل result بزر نسخ مباشرة، بينما تجعل تسميات mode وencoding أمثلة OpenAPI مفهومة ذاتياً لمن يعرفون فقط غلاف begin وend الكلاسيكي والأبجدية الأبجدية الرقمية.
حالات التكامل
فحوص golden للتوثيق والتكامل المستمر
ثبّتوا تجهيزات encode وdecode ليفشل بسرعة عيّنات التوثيق واختبارات التكامل المستمر إذا انحرفت أبجدية xx أو قواعد طول السطر.
أسئلة تقنية
هل مشفّر xxencode مجاني؟
تعمل أداة المتصفح مجاناً على جهازكم. تستعمل استدعاءات API رصيد KIT المدفوع مسبقاً بسعر $0.002 لكل عنصر ناجح؛ ولا تُحسب إخفاقات التحقق.