مولد ANSI truecolor
يحوّل مولّد تسلسلات الهروب ANSI truecolor لونًا سداسيًا أو لون RGB مألوفًا إلى تعليمة Select Graphic Rendition الدقيقة التي تستخدمها الطرفيات الداعمة لألوان الأربعة والعشرين بت.
شغّل الأداة مجانًا
أدخل قيمة سداسية مختصرة أو كاملة، أو لونًا بصيغة rgb()، ثم اختر المقدمة أو الخلفية. تتضمن النتيجة محرف الهروب الفعلي للاستخدام المباشر، وصيغة هروب ظاهرة مناسبة للشيفرة المصدرية والإعدادات، وقيم القنوات الموحّدة، وتسلسل إعادة الضبط القياسي. تعمل الأداة بصورة حتمية وسريعة، وتناسب أدوات shell ونصوص البناء وأنظمة السجلات وواجهات سطر الأوامر.
اختر اللون والجزء المراد تغييره في الطرفية
ابدأ بلون مكتوب بإحدى الصيغ المدعومة: صيغة سداسية من ثلاثة أرقام مثل <code>#3af</code>، أو صيغة سداسية من ستة أرقام مثل <code>#33AAFF</code>، أو الأرقام الستة نفسها من دون علامة المربع، أو دالة RGB مثل <code>rgb(51, 170, 255)</code>. لا تتأثر الحروف السداسية بحالة الحرف، كما يُسمح بالمسافات داخل دالة RGB. يجب أن تكون كل قناة RGB عددًا صحيحًا من صفر إلى 255. بعد ذلك، اختر تطبيق اللون على المقدمة، وهي النص عادةً، أو على الخلفية الواقعة خلفه. المقدمة هي الخيار الافتراضي لأنها الاستخدام الأكثر شيوعًا في مخرجات الأوامر. يوسّع المولّد القيم السداسية المختصرة، ويوحّد اللون النهائي في ستة أرقام سداسية كبيرة، ويعيد قنوات الأحمر والأخضر والأزرق بالقيم العشرية. يتيح لك ذلك مراجعة النتيجة بسهولة قبل إدراجها في نص برمجي. تُرفض قنوات ألفا وأسماء ألوان CSS والنسب المئوية والقنوات الخارجة عن النطاق عمدًا، لأن تسلسلات ANSI truecolor ترمّز ثلاث قنوات لونية من ثمانية بتات تحديدًا ولا تتضمن مكوّن ألفا. يمنع التحقق الواضح تحوّل قيمة CSS أُدخلت بالخطأ إلى لون غير متوقع في الطرفية من دون تنبيه.
استخدم تسلسل الهروب الناتج بصورة آمنة
يستخدم لون ANSI ذو الأربعة والعشرين بت محرف هروب تتبعه قائمة معاملات SGR. تبدأ ألوان المقدمة بالرمز <code>38;2</code>، بينما تبدأ ألوان الخلفية بالرمز <code>48;2</code>؛ ثم تأتي القنوات العشرية الثلاث بترتيب الأحمر والأخضر والأزرق، وينتهي التسلسل بالرمز <code>m</code>. توفر الاستجابة تمثيلين للتعليمة نفسها. يحتوي الحقل <code>sequence</code> على محرف ESC الفعلي، ولذلك يستطيع البرنامج وصله مباشرةً بالنص. يبدأ الحقل <code>escaped</code> بالمحارف الظاهرة <code>\x1b</code>، وهي أسهل عادةً عند النسخ إلى JavaScript أو shell أو قوالب JSON أو الوثائق التي قد يسبب فيها محرف تحكم حرفي التباسًا. يعتمد تفسير سلسلة الهروب على اللغة المضيفة، لذا استخدم التمثيل المناسب لبيئتك. أضف قيمة إعادة الضبط الناتجة بعد الجزء الملوّن حتى لا ترث المطالبات وأسطر السجل التالية النمط نفسه. يتكون الإخراج من الناحية المفاهيمية من تسلسل اللون ثم الرسالة ثم إعادة الضبط. تجنب رموز اللون في المخرجات المقروءة آليًا ما لم تدعمها الجهات المستهلكة صراحةً، لأن محارف التحكم غير المرئية قد تفسد المقارنات وأدوات التحليل واللقطات الاختبارية.
راعِ دعم الطرفية وسلوك بيئة الإنتاج
يحظى truecolor بدعم واسع في محاكيات الطرفية الحديثة، لكن بروتوكول ANSI لا يُلزم كل وجهة إخراج بعرض ألوان الأربعة والعشرين بت. قد لا يعرض ملف أعيد توجيه الإخراج إليه، أو طرفية بسيطة، أو عارض سجلات التكامل المستمر، أو تطبيق مضبوط لإزالة الأنماط أي لون، وقد يُظهر محارف التحكم نفسها. تعامل مع اللون على أنه وسيلة عرض لا معلومة: ينبغي أن تظل التسميات ومستويات الخطورة ورسائل الحالة مفهومة عند إزالة التنسيق. لا تفعّل برامج سطر أوامر كثيرة الألوان إلا عندما يكون الإخراج القياسي متصلًا بطرفية تفاعلية، وتوفر خيارًا أو متغير بيئة لفرضها أو تعطيلها. لا يفحص هذا المولّد طرفية المستدعي، لأن ذلك سيجعل نتيجة API النقية تعتمد على بيئة تشغيل لا صلة لها بالتحويل. فهو ينشئ تسلسل البايتات الصحيح للون المطلوب فحسب. لا تنفّذ الخوارزمية طلبات شبكية، ولا تستخدم العشوائية، ولا تحتفظ بالمدخلات. لذلك تعيد المدخلات المتطابقة JSON متطابقًا. تبلغ تكلفة استخدام API مقدار $0.002 لكل طلب، بينما يستخدم التنفيذ في المتصفح منطق التحويل النقي نفسه. في أنظمة السجلات، يُفضّل إدراج التسلسلات في عارض الإخراج النهائي الموجّه للبشر فقط، بدلًا من تخزينها داخل الأحداث المنظمة؛ وبذلك تبقى عمليات البحث والتصدير اللاحقة نظيفة مع الحفاظ على إخراج جذاب في وحدة التحكم.
حالات الاستخدام
تلوين رسائل الحالة في سطر الأوامر
أنشئ تسلسلات مقدمة دقيقة لتسميات النجاح والتحذير والفشل، مع إبقاء لوحة الألوان بصيغة HEX المألوفة.
تنسيق سجلات التطوير
أنشئ رموز مقدمة أو خلفية لمنسّق وحدة تحكم موجه للبشر، وأضف قيمة إعادة الضبط المرفقة بعد كل جزء منسّق.
تحويل ألوان التصميم إلى سمات طرفية
حوّل الألوان المنسوخة من نظام تصميم إلى قنوات RGB موحّدة وتسلسلات ANSI truecolor من دون تحويل عشري يدوي.
الأسئلة الشائعة
ما صيغ الألوان المقبولة؟
استخدم #RGB أو #RRGGBB أو ستة أرقام سداسية بلا علامة مربع أو rgb(r, g, b) بقنوات صحيحة من 0 إلى 255.
ما الفرق بين sequence وescaped؟
يحتوي الحقل sequence على محرف ESC فعلي، بينما يعرض الحقل escaped الصيغة الشائعة \x1b المناسبة للنسخ إلى الشيفرة المصدرية أو الإعدادات.
كيف يمكن إنهاء تطبيق اللون؟
أضف قيمة reset الناتجة بعد النص الملوّن. تتضمن النتيجة أيضًا تمثيل الهروب للبيئات التي تفسر محارف الهروب في السلاسل.
هل ستعرض كل الطرفيات هذا اللون؟
لا. يجب أن تدعم الوجهة تسلسلات ANSI Select Graphic Rendition وtruecolor بأربعة وعشرين بت. قد لا تعرض المخرجات المعاد توجيهها أو المرشحة التنسيق.
ما تكلفة طلب API؟
يكلف كل طلب API مقدار $0.002. يتوفر التحويل أيضًا عبر التنفيذ المجاني داخل المتصفح.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/dev/ansi-truecolor \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"color":"#33A1FF"}'const res = await fetch("https://api.kit.forhosting.com/dev/ansi-truecolor", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"color": "#33A1FF"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/ansi-truecolor",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"color": "#33A1FF"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/ansi-truecolor", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"color":"#33A1FF"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"color":"#33A1FF"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/ansi-truecolor", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"color": "#33A1FF"
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.ansi_truecolor",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |