ترميز وفك ترميز Base64
أداة ترمّز نصًا أو ملفًا إلى صيغة Base64 — تمثيل نصي آمن للبيانات الثنائية يمكن تضمينه داخل JSON أو رابط أو بريد إلكتروني — وتفكّ ترميز نص Base64 موجود إلى شكله الأصلي. يستخدمها المطورون لتضمين صورة صغيرة داخل كود، أو فحص محتوى حقل مشفَّر بهذه الصيغة.
شغّل الأداة مجانًا
تعمل هذه الأداة داخل متصفحك — مجانًا، ولا تُرسل بياناتك إلى أي خادم
لماذا نحتاج Base64 أصلًا
بعض الأنظمة — كصيغة JSON أو رسائل البريد الإلكتروني — مصممة للتعامل مع نص عادي فقط، بينما الملفات كالصور بيانات ثنائية لا تتوافق مباشرة مع هذه الأنظمة. صيغة Base64 تحوّل أي بيانات ثنائية إلى نص مكوَّن من محارف آمنة يمكن تضمينه في أي مكان يقبل نصًا عاديًا، دون فقدان أي جزء من البيانات الأصلية.
ترميز ملف صغير مباشرة داخل الكود
لأيقونة أو شعار صغير الحجم، يفضّل بعض المطورين تضمينه كنص Base64 داخل ملف CSS أو HTML مباشرة بدل طلب شبكي منفصل لتحميل الصورة، فيقلّل عدد الطلبات التي يحتاجها المتصفح لعرض الصفحة. ترفع الملف إلى الأداة فتحصل على النص الجاهز للصق مباشرة في الكود.
فك ترميز حقل مشفَّر بهذه الصيغة
عند فحص طلب API أو رأس HTTP يحمل قيمة تبدو نصًا عشوائيًا غير مفهوم، غالبًا ما تكون مرمَّزة بصيغة Base64. تفكّ الأداة الترميز فورًا وتعرض القيمة الأصلية المقروءة — نصًا عاديًا أو JSON مثلًا — فتفهم محتوى الحقل دون كتابة سطر كود للفك.
من المتصفح فقط، دون رفع أي ملف
سواء رمّزت ملفًا أو فككت نصًا، تجري العملية بالكامل داخل متصفحك؛ لا يُرفَع الملف الأصلي ولا النص المشفَّر إلى أي خادم خارجي، وهذا مناسب حتى لملفات أو بيانات حساسة تفضّل ألا تغادر جهازك.
حالات الاستخدام
تضمين شعار صغير داخل كود CSS
يضمّن مطور واجهة أمامية في شركة الخليج الرقمية شعار الشركة الصغير كنص Base64 مباشرة داخل ملف CSS، لتقليل عدد طلبات الشبكة عند تحميل الصفحة.
فحص محتوى ترويسة طلب API غامضة
يفحص مطور خلفي قيمة غريبة في ترويسة طلب وارد إلى نظامه، ويكتشف بعد فك الترميز أنها بيانات مستخدم مرمَّزة بصيغة Base64 من نظام قديم.
إرفاق ملف صغير داخل رسالة JSON
يرسل نظام في مؤسسة النخيل للمقاولات مستندًا صغيرًا ضمن حمولة JSON إلى نظام شريك، بعد ترميزه إلى Base64 ليتوافق مع الصيغة النصية التي يقبلها الطرف الآخر.
الأسئلة الشائعة
هل Base64 نوع من التشفير الآمن؟
لا، هو تمثيل نصي للبيانات وليس تشفيرًا؛ أي شخص يستطيع فكّه بسهولة، فلا يصلح لإخفاء معلومات حساسة.
هل يزيد الترميز حجم الملف؟
نعم، بنحو الثلث تقريبًا؛ هذا مقبول للملفات الصغيرة لكنه غير مناسب لملفات كبيرة يُفضَّل رفعها مباشرة بدل ترميزها.
هل يُرفَع الملف الذي أرمّزه إلى خادمكم؟
لا، الترميز وفك الترميز يجريان داخل متصفحك بالكامل.
هل يمكن ترميز نص عربي أيضًا؟
نعم، الأداة تتعامل مع أي نص بأي لغة، وتحافظ على المحارف العربية سليمة عند فك الترميز.
هل الاستخدام مجاني بلا حدّ؟
نعم، من المتصفح مباشرة مجاني بلا حدّ لعدد المرات.
هل تعمل الأداة من الجوال؟
نعم، صفحة ويب عادية تعمل من متصفح الجوال بنفس الطريقة على الحاسوب.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/dev/base64 \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"items":["valor-1","valor-2"]}'const res = await fetch("https://api.kit.forhosting.com/dev/base64", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"items": [
"valor-1",
"valor-2"
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/base64",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"items": [
"valor-1",
"valor-2"
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/base64", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"items":["valor-1","valor-2"]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"items":["valor-1","valor-2"]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/base64", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"items": [
"valor-1",
"valor-2"
]
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.base64",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |