Base85 RFC 1924
تصبح عبارة Hello World بترميز Base85 وفق RFC 1924 هي 7KPt{PR^XAyM<W. اقتُرحت هذه الأبجدية ذات الأحرف الخمسة والثمانين لكتابة عنوان IPv6 بطول 128 بت في عشرين حرفًا، وتُطبَّق هنا على أي نص دون مسافات أو علامات اقتباس أو شرطات مائلة. مجاني في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- النص
- Hello World
- وضع الحساب
- Encode
- النتيجة
- 7KPt{PR^XAyM<W
- المُدخَل
- Hello World
- Base85 (معيار RFC 1924)
- 7KPt{PR^XAyM<W
- اسم الأبجدية
- rfc1924
تنفّذ Base85 RFC 1924 بشكل حتمي بمحرك parse. أدخل القيمة والوضع إن لزم لتحويل دقيق بلا شبكة.
أبجدية صُممت لعناوين IPv6
اقترح RFC 1924 طريقة مختصرة لكتابة عناوين IPv6: يُعامل العنوان الكامل بطول 128 بت عددًا واحدًا ويُعاد كتابته بالأساس 85، فيتسع لعشرين حرفًا قابلًا للطباعة بدل الصيغة الست عشرية الطويلة ذات النقطتين. والأبجدية ثابتة: الأرقام من 0 إلى 9، والحروف اللاتينية الكبيرة والصغيرة، وثلاثة وعشرون رمزًا مثل ! و# و% و& و~. وتستبعد عمدًا المسافة وعلامات الاقتباس والفاصلة والنقطة والشرطة المائلة والنقطتين والأقواس المربعة والشرطة المائلة العكسية، لتُلصق السلاسل في سطر الأوامر وملفات الإعداد دون عناء. وتطبّق هذه الأداة الأبجدية نفسها على نص UTF-8 العادي.
كيف يتم التحويل وأين يقع الخطأ
يتحول نصك إلى بايتات UTF-8 تُقرأ عددًا كبيرًا واحدًا، ثم يُقسم على 85 مرة بعد مرة، ويختار كل باقٍ حرفًا من الأبجدية. وتصبح البايتات الصفرية في البداية أحرف 0 في البداية لأن 0 هو الرمز الأول، ويعيدها فك الترميز. فعبارة Hello World ذات الأحد عشر بايتًا تصبح الأحرف الأربعة عشر 7KPt{PR^XAyM<W. ومن الأخطاء المعتادة لصق سلسلة فيها مسافة أو فاصلة أو علامة اقتباس، فيرفضها فك الترميز مع ذكر الحرف وموضعه، وتوقّع عنوان IPv6 بنقطتين: فهذه الصفحة تحوّل النص لا العناوين.
الغرض
تُبحث محوّلات الترميز والقواعد كثيرًا. Base85 RFC 1924 يطبّق UTF-8↔Base85 RFC1924 مع تحقق صارم. الأمثلة الذهبية تثبّت الدخل والخرج.
نموذج الويب يعرض params بتسميات بثماني لغات.
الآلية
تُحذف الاختياريات بدل null. تُفرض حدود params وcap.json في الكود. فحوصات التكافؤ والدخان في cap:verify تمنع يظهر ولا يحسب.
الاستخدام
استخدم Base85 RFC 1924 للتحويل الدقيق الموصوف لا كحزمة تشفير كاملة. لا يستبدل الشفرات ذات المفتاح. ادمجه مع أدوات enc الأخرى ووثّق الحدود والأوضاع.
بلا اشتراك؛ محاسبة على الاستخدام الناجح فقط. وتُحفظ النتيجة بشكل مستقر وقابل لإعادة الإنتاج في الاختبارات الآلية وفي واجهة الويب المجانية. وتُحفظ النتيجة بشكل مستقر وقابل لإعادة الإنتاج في الاختبارات الآلية وفي واجهة الويب المجانية.
حالات الاستخدام
دروس مع Base85 RFC 1924.
دروس مع Base85 RFC 1924.
اختبارات وحدة للترميز.
اختبارات وحدة للترميز.
أدوات مسار نصي.
أدوات مسار نصي.
الأسئلة الشائعة
ما الأحرف التي يستبعدها Base85 وفق RFC 1924 ولماذا؟
يستبعد المسافة وعلامات الاقتباس والفاصلة والنقطة والشرطة المائلة والنقطتين والأقواس المربعة والشرطة المائلة العكسية، حتى تُلصق السلاسل المرمّزة في سطر الأوامر أو ملفات الإعداد دون مشكلات مع علامات الاقتباس.
لماذا تبدأ سلسلتي المرمّزة بأصفار؟
لأن البايتات الصفرية في بداية بياناتك تصبح أحرف 0 في البداية، فالرقم 0 هو أول رمز في الأبجدية. وعند فك الترميز يعود كل منها بايتًا صفريًا، فتستعيد البايتات الأصلية تمامًا.
ماذا يحدث إذا فككت سلسلة فيها مسافة أو فاصلة؟
يتوقف فك الترميز برسالة واضحة تذكر الحرف وموضعه. فالمسافات والفواصل وعلامات الاقتباس والأقواس وأي رمز خارج الأبجدية ذات الأحرف الخمسة والثمانين تُرفض، فلا تتحول سلسلة تالفة بصمت إلى نص مختلف.
لماذا أُنشئ Base85 الخاص بمعيار RFC 1924؟
لكتابة عنوان IPv6 كامل بطول 128 بت في عشرين حرفًا قابلًا للطباعة فقط، بدل الصيغة الست عشرية الطويلة ذات النقطتين. وتطبّق هذه الأداة الأبجدية نفسها على نص UTF-8، ولا تنسّق عناوين IPv6.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/enc/base85-rfc1924 \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Hello World"}'const res = await fetch("https://api.kit.forhosting.com/enc/base85-rfc1924", {
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/base85-rfc1924",
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/base85-rfc1924", 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/base85-rfc1924", 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.base85_rfc1924",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الحدود
max_chars | 100000 |
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
API بسعر $0.002 لكل نجاح؛ والويب المجاني بنفس النواة.
الغرض
بلا حالة أو ساعة. invalid_input يمنع مخرجات خاطئة صامتة.
الآلية
بعد التحقق يحوّل النواة ويعيد JSON مستقرًا. سعر API $0.002 لكل نجاح.
أسئلة تقنية
هل هو حتمي؟
نعم: نفس الدخل ونفس الخرج.
شبكة أو ذكاء؟
لا؛ parse فقط.
دخل غير صالح؟
invalid_input برسالة واضحة.
السعر؟
API $0.002 لكل نجاح؛ الويب مجاني.
هل يوجد ويدجت؟
نعم، المستوى A بنفس lib.js.