ForHosting KIT · أدوات المطورين

مُرمِّز ومُفكِّك Base16 RFC 4648

رمّز النص إلى Base16 وفق RFC 4648، وهو النظام الست عشري القياسي بالأحرف الكبيرة حيث يصبح كل بايت حرفين: تصبح Hello هي 48656C6C6F. وعند الفك يقبل التفريغات التي فيها مسافات أو نقطتان ويرفض الإدخال المشوه. مجاني في متصفحك.

  • مجاني
  • يعمل في متصفحك
  • دون تسجيل
  • بياناتك لا تغادر جهازك
استخدمها من الويبAPIالبريدTelegramالتطبيق قريبًا
إذا أدخلت
النص
Hello
وضع الحساب
Encode
تحصل على
النتيجة
48656C6C6F
المدخل
Hello
Base 16
48656C6C6F
ست عشري
48656C6C6F

Base16 وفق RFC 4648 هو الترميز الست عشري القياسي بالأحرف الكبيرة: يتحول كل بايت من المدخلات إلى حرفين اثنين بالضبط من الأبجدية 0-9 وA-F، دون حشو ودون رموز ملتبسة. تُرمِّز هذه الأداة النص العادي UTF-8 إلى تلك الصيغة القياسية من Base16 وتفكّ سلاسل hex الخاصة بـBase16 لتعيدها إلى نص، بحيث يمكنك اللصق في أيٍّ من الاتجاهين دون تثبيت مكتبة تشفير. يُخرج الترميز دائمًا أرقامًا بأحرف كبيرة كما يشترط المعيار؛ أما فك الترميز فيقبل الضوضاء الشائعة عند اللصق مثل المسافات والنقطتين الرأسيتين واختلاط الأحرف الكبيرة بالصغيرة، ثم يُطبِّق التطبيع والتحقق قبل التحويل. يستخدمها المطوّرون في ملفات اختبار البروتوكولات، والمعلّمون في دروس الأسس العددية، والمشغّلون في تصحيح تفريغات hex.

ما Base16 وفق RFC 4648 وكيف تعمل الأبجدية

يُعرَّف Base16 في RFC 4648 بأنه ترميز من ثنائي إلى نص يُسنِد كل ثُمانية (octet) من ثمانية بتات إلى رمزين من أبجدية مكوَّنة من ستة عشر حرفًا: الأرقام العشرية من صفر إلى تسعة تليها الأحرف اللاتينية الكبيرة من A إلى F. وهذه الأبجدية مطابقة للترميز الست عشري المألوف بالأحرف الكبيرة المستخدَم في وثائق البروتوكولات وتتبُّعات الحزم وكثير من أدلة العتاد.

يسير الترميز عبر المدخل من اليسار إلى اليمين، ويقسّم كل بايت إلى نصف بايت علوي ونصف بايت سفلي، ويُسنِد كل نصف بايت إلى حرف واحد من الأبجدية، فينتج سلسلة طولها دائمًا ضعف عدد البايتات. لا يوجد حرف حشو ولا قاعدة التفاف أسطر في الترميز الأساسي؛ فمن يحتاج إلى فواصل أسطر أو فواصل أخرى يضيفها للعرض فقط. أما فك الترميز فيعكس الإسناد: كل رقمَي hex متتاليَين يصيران بايتًا واحدًا.

التطبيقات التي تدّعي التوافق مع RFC 4648 تُرمِّز بالأحرف الكبيرة A–F؛ وكثير من مُفكِّكات الترميز تقبل أيضًا الأحرف الصغيرة a–f توافقًا مع أدوات تُخرج أحرفًا مختلطة. غالبًا ما تظهر المسافات والفواصل الزخرفية مثل النقطتين الرأسيتين والشرطات السفلية والشرطات في التفريغات المحرَّرة يدويًا، ويجب إزالتها قبل فحصَي الطول والأبجدية، ثم يجب أن تكون السلسلة المتصلة المتبقية ذات طول زوجي. عندما يظهر حرف خارج 0-9A-Fa-f أو كان عدد الأرقام فرديًا، يجب أن يفشل مُفكِّك الترميز بشكل صريح.

تستهدف هذه الصفحة الباحثين عن مُرمِّز Base16 أو مُحوِّل hex وفق RFC 4648 أو ترميز وفك ترميز ست عشري بالأحرف الكبيرة عبر الإنترنت؛ وهي ليست Base64 ولا Base32 ولا Base58 ولا مُحوِّل أسس عامًا للأعداد الصحيحة الكبيرة.

نصائح عملية وحدود والفرق عن الترميزات الأخرى

فضِّل encode عندما تبدأ من نص مقروء أو حمولات UTF-8 قصيرة تريدها تفريغًا ست عشريًا قياسيًا بالأحرف الكبيرة للمواصفات أو التذاكر أو اختبارات الوحدة. وفضِّل decode عندما تملك مسبقًا سلسلة Base16 من مثال بروتوكول أو سجل firmware أو ملف اختبارات. فحوصات الذهاب والإياب هي أسرع اختبار دخان: رمِّز كلمة معروفة مثل Hello، وتأكد من النتيجة الكلاسيكية بالأحرف الكبيرة 48656C6C6F، ثم فكّ ترميز تلك السلسلة وتأكد من استرجاع العبارة الأصلية بايتًا بايتًا.

أبقِ الحمولات دون حد الأحرف المنشور؛ فالتفريغات متعددة الميغابايت مكانها العمل دون اتصال أو أدوات ثنائية مخصصة. هذه الأداة ليست Base64 ولا Base64URL؛ فتلك الأبجديات تستخدم أربعة وستين رمزًا مع حشو وتعبئة أعلى كثافة. وليست Base58 التي تحذف الرموز الملتبسة لتسهيل النسخ اليدوي.

وليست مُحوِّل أسس للأعداد الصحيحة أو العائمة: لتحويل عدد hex واحد إلى عشري أو ثنائي، استخدم قدرات صيغ الأعداد المخصصة بدلًا من معاملة الأرقام كسلسلة بايتات معتمة. فضِّل Base16 عندما تحتاج إلى تفريغ 1:1 تظهر فيه أنصاف البايتات ويطابق RFC 4648 والترميز الست عشري في الكتب؛ وفضِّل Base64 عندما تكون الكثافة أهم من المقروئية. وعند التدريس، اعرض الجملة نفسها مُرمَّزة بـBase16 وBase64 جنبًا إلى جنب ليرى المتعلمون لماذا يكون hex أطول ودائمًا زوجي الطول، ولماذا تُعد الأحرف الكبيرة A–F الصيغة القياسية في الجدول 5 من RFC 4648.

تفريغات hex للبروتوكولات وملفات الاختبار في الاختبارات

ولِّد Base16 قياسيًا بالأحرف الكبيرة من نصوص ملفات الاختبار، وتأكد من أن decode يسترجع بايتات UTF-8 نفسها في CI دون أي اعتماد على التشفير.

تدريس RFC 4648 والترميز الست عشري

في الصفوف، يُرمَّز Hello إلى 48656C6C6F، وتُفحص الأبجدية 0-9A-F، ثم يُفرض طول فردي أو أحرف غير صالحة لإظهار صرامة التحقق.

ما الأبجدية التي يستخدمها مُرمِّز Base16 هذا؟

أبجدية Base16 في RFC 4648: 0123456789ABCDEF. يُنتج الترميز دائمًا الأحرف الكبيرة A–F؛ ويقبل فك الترميز أيضًا الأحرف الصغيرة a–f والفواصل الشائعة.

هل Base16 هو نفسه Base64؟

لا. يُسنِد Base16 كل بايت إلى رقمَي hex من أبجدية من ستة عشر رمزًا. أما Base64 فيستخدم أربعة وستين رمزًا وتعبئة أكثر كثافة وأحرف حشو اختيارية.

هل يحوّل هذا الأعداد الصحيحة الست عشرية الكبيرة إلى عشرية؟

لا. إنه يعامل المدخل كتسلسل بايتات معتم وفق Base16 في RFC 4648، لا كعدد صحيح واحد متعدد الدقة. استخدم أدوات صيغ الأعداد لتحويل الأعداد الصحيحة من hex إلى عشري.

هل يمكن فك نص ست عشري فيه مسافات أو نقطتان أو أحرف صغيرة؟

نعم. تُحذف المسافات والنقطتان والشرطات السفلية والشرطات، وتُقبل الأحرف الصغيرة من a إلى f، فيُفك التفريغ المنسوخ من سجل كما هو. ويجب أن يبقى بعد ذلك عدد زوجي من الأرقام.

ماذا يحدث إذا كان عدد الأرقام الست عشرية فرديًا؟

يُرفض الإدخال برسالة واضحة بدل إفساده بصمت. وكذلك يُرفض أي محرف خارج 0 إلى 9 وA إلى F، وأي بايتات لا تكوّن نص UTF-8 صحيحًا.

كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.

POSThttps://api.kit.forhosting.com/enc/base16-rfc4648

صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.

curl -X POST https://api.kit.forhosting.com/enc/base16-rfc4648 \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"Hello"}'
{
  "text": "Hello"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "enc.base16_rfc4648",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.

لكل طلب$0.002

السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.

max_chars100000
HTTPالرمزالمعنى
401unauthorizedمفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك.
402insufficient_balanceرصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة.
404unknown_typeنوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب.
429rate_limitedتجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة.

المدخلات المعيبة — عدد فردي من أرقام hex، أو حرف خارج الأبجدية، أو بايتات ليست UTF-8 صالحًا — تُعيد خطأ invalid_input واضحًا بدلًا من تلف صامت. المسار عملية حسابية حتمية خالصة على البايتات — لا شبكة ولا بذور عشوائية ولا اعتماد على الساعة — لذا يُعيد المنفِّذ المجاني في المتصفح وواجهة API المدفوعة مسبقًا JSON نفسه في كل مرة.

ما Base16 وفق RFC 4648 وكيف تعمل الأبجدية

فالاستبدال الصامت يخترع حمولة مختلفة، وهو أسوأ من الخطأ الصريح بالنسبة إلى مجاميع التحقق وملفات الاختبار وخطوط الأنابيب المؤتمتة.

كيفية استدعاء واجهة API ومحتوى الاستجابة

الوضع الافتراضي هو encode: تتحول بايتات UTF-8 الخاصة بـtext إلى سلسلة Base16 بأحرف كبيرة وفق أبجدية RFC 4648. أرسِل جسم JSON يتضمن حقل السلسلة المطلوب text (والأسماء البديلة input وvalue وdata) وحقل mode الاختياري الذي يكون إما encode أو decode. أما وضع decode فيتعامل مع text بوصفه حمولة Base16 — مع إمكان وجود مسافات أو فواصل نقطتين رأسيتين وأحرف مختلطة — ويُعيد سلسلة UTF-8 المسترجَعة بعد التطبيع. طول المدخل محدود بمئة ألف حرف كي لا يستنفد طلب واحد ذاكرة Worker بتفريغات مرضية. عند نجاح encode تتضمن الاستجابة mode وinput وresult إضافةً إلى base16 وhex بالسلسلة المُرمَّزة نفسها، وalphabet بالثابت المكوَّن من ستة عشر حرفًا 0123456789ABCDEF، وalphabet_name بالقيمة rfc4648_base16، وstandard بالقيمة RFC 4648 Base16، وinput_bytes بعدد بايتات UTF-8، وoutput_length بعدد الأحرف المُرمَّزة، ورسالة إنجليزية قصيرة. وعند نجاح decode تتضمن الاستجابة mode وinput وresult وtext بالسلسلة UTF-8 المفكوكة، وbase16_normalized بالصيغة المتصلة بالأحرف الكبيرة، وحقلَي alphabet وstandard نفسيهما، وinput_length وoutput_bytes ورسالة مناظرة. أما فشل التحقق — غياب text، أو text ليس سلسلة، أو مدخل يتجاوز الحد، أو mode غير معروف، أو طول hex فردي، أو حرف Base16 غير صالح، أو بايتات مفكوكة ليست UTF-8 صالحًا — فيُعيد invalid_input ولا يُحتسب أبدًا. السعر ثابت قدره $0.002 لكل طلب ناجح بالوحدة item وسعر هامشي صفري للوحدة.

نصائح عملية وحدود والفرق عن الترميزات الأخرى

أرسِل عمدًا سلسلة hex فردية الطول أو رمزًا غير ست عشري مثل G أو Z في طلب decode لتتأكد من أن عميلك يعالج invalid_input ورسالة الخطأ التي تذكر القاعدة. المهام الفاشلة التي تُعيد invalid_input لا تستهلك الرصيد المدفوع مسبقًا، ما يجعل النصوص الاستكشافية رخيصة عند اختبار hex معيب.

تصحيح السجلات وتتبعات الحزم الملصوقة

الصق تفريغات hex بالمسافات أو النقطتين الرأسيتين، وفكّ ترميزها إلى نص مقروء عندما تكون الحمولة UTF-8، أو أعد ترميزها بعد التعديل لإجراء فحوصات الذهاب والإياب.

ماذا يحدث إذا فككتُ سلسلة hex فردية الطول أو حرفًا غير ست عشري؟

تُعيد واجهة API الخطأ invalid_input، وتشرح الطول الفردي أو تذكر الحرف الخاطئ وموضعه، وتذكِّر بأن Base16 يتطلب عددًا زوجيًا من أرقام 0-9A-F. المهام الفاشلة لا تُحتسب.

هل مُرمِّز Base16 مجاني؟

أداة المتصفح مجانية وتعمل محليًا. تستخدم استدعاءات API رصيد KIT المدفوع مسبقًا بقيمة $0.002 لكل طلب ناجح؛ وإخفاقات invalid_input لا تُحتسب أبدًا.

اطّلع على توثيق KIT الكامل ←