مُرمِّز ومُفكِّك Ook!
تتحول Hi إلى برنامج Ook! من 1069 محرفًا لا يتكوّن إلا من ثلاث كلمات في أزواج ثابتة، وكل زوج يقابل أمرًا واحدًا من Brainfuck. الصق البرنامج لتشغّله وتقرأ ما يطبعه، أو رمّز رسالة قصيرة لأحجية. مجاني في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- النص
- Hi
- وضع الحساب
- encode
- الترميز
- ook
- طول المُدخَل
- 2
- طول المُخرَج
- 1,069
- عدد الأوامر
- 107
يحوّل مُرمِّز ومُفكِّك Ook! هذا نص Latin-1 إلى برنامج إسوتيري صالح بلغة Ook! وينفّذ برامج Ook! لاسترجاع النص الذي تطبعه. Ook! لهجة فكاهية من Brainfuck تُكتب مجموعة تعليماتها بثلاثة رموز فقط—Ook. وOok! وOok?—دائمًا في أزواج ثابتة تقابل واحدًا لواحد أوامر Brainfuck الثمانية الكلاسيكية.
ما هو Ook! وما الذي يعيده هذا الأداة
صُمِّم Ook! كلَهجة مازحة من Brainfuck تكون فيها كل تعليمة عبارة من كلمتين مبنية من الرموز Ook. وOok! وOok?. هذه الرموز الثلاثة هي كامل المفردات؛ وعلامات الترقيم على كلمة Ook ذات دلالة، فـ Ook.
ليست نفسها Ook! ولا Ook?. تُقابَل كل عملية من عمليات Brainfuck الثماني بزوج مرتب واحد بالضبط: يمين المؤشر هو Ook. Ook?، ويساره Ook?
Ook.، والزيادة Ook. Ook.، والنقصان Ook! Ook!، والإخراج Ook!
Ook.، والإدخال Ook. Ook!، وبداية الحلقة Ook! Ook?، ونهايتها Ook?
Ook!. يُرمِّز هذا المسار النص العادي كبرنامج Ook يطبع ذلك النص عند التفسير، ويفك بالتفسيير لبرنامج سليم الشكل وجمع محارف الإخراج. إن احتجتم إلى شفرات كلاسيكية أو تفريغ ثنائي أو تشفير حديث مصادق عليه، فاستخدموا تلك المسارات المخصّصة؛ تجيب هذه الصفحة فقط عن قواعد نحو Ook! ذات الرموز الثلاثة ومسار الترميز والتشغيل المكافئ لـ Brainfuck الذي تصفه فصول اللغات الإسوتيرية أصلًا.
أين يناسب Ook! الدروس والأحاجي
يلتقي المطوّرون والمعلّمون بـ Ook! في عروض اللغات الإسوتيرية، وتمارين capture-the-flag التي تُخفي Brainfuck خلف مفردات مازحة، وعروض خفيفة تُظهر كيف يمكن لشكل أمر برمزين أن ينفّذ شريط تعليم شبه تورينغي عند التعيين بعناية. يمكن لفرق الواجهة الأمامية عرض encode وdecode جنبًا إلى جنب حتى يرى المتعلمون أن تدفّقًا طويلًا من أزواج Ook.
Ook. هو في الحقيقة سلسلة زيادات قبل الطباعة، دون اختراع جدول خاص. تُحسب خدمات الخلفية مسبقًا سلاسل تحدٍّ لواجهات أحاجٍ أو بيئات تعليم حيث يجب على الطلاب إعادة تجميع أزواج صالحة لفتح الخطوة التالية. يولّد مهندسو الجودة أزواج ترميز/فك حتمية لاختبارات العقود حتى لا يستطيع وسيط يدّعي دعم Ook إسقاط رمز ختامي بلا زوج بصمت أو قبول Ook?
Ook? كأمر قانوني. يحسب منظّمو المسابقات مفاتيح إجابات لعبارات إنجليزية قصيرة دون الوثوق بألعاب ويب مبهمة تملأ أزواجًا ناقصة أو تخطئ في حالة الأحرف. تستخدم أدوات المنتج والتعليم التحويل عندما يلصق متعلم برنامج Ook ويجب على الواجهة إظهار تدفق الطباعة المسترجع وفق قواعد النحو الموثّقة ذات الرموز الثلاثة.
اقرنوه بمساعدات ترميز كلاسيكية أو مازحة أخرى عند بناء مختبر صغير لأدوات نص مجانية وحتمية، ولا تعاملوا Ook! أبدًا كبديل للتشفير الحديث المصادق عليه عندما تكون أسرار حقيقية على المحك.
حالات الاستخدام
تمرين اللغات الإسوتيرية وCTF
رمّزوا رسائل قصيرة كبرامج Ook! وفكّوا تدفقات الرموز لأوراق الدرس وعروض esolang وتمارين capture-the-flag.
عروض لهجة Brainfuck
أظهروا قواعد النحو ذات الرموز الثلاثة Ook. / Ook! / Ook? كأزواج مرتبة تقابل واحدًا لواحد أوامر Brainfuck الثمانية.
الأسئلة الشائعة
كيف أفكّ برنامج Ook!؟
الترميز هو الافتراضي عند حذف mode. يجب أن تظهر الرموز كأزواج كاملة من Ook. / Ook! / Ook?.
ماذا يحدث إذا كان زوج الرموز تالفًا؟
تُرفَض العدود الفردية والأزواج المرتبة المجهولة مثل Ook? Ook? والنفايات غير الرمزية والحلقات غير المتطابقة بدل التخمين.
أي محارف يمكن ترميزها؟
قيم Latin-1 / البايت من 0 إلى 255 فقط، حتى 256 محرفًا لكل طلب. تُرفَض المحارف ذات وحدات UTF-16 فوق 255 ليبقى حجم البرنامج قابلًا للتوقع.
هل Ook! آمن للأسرار الحقيقية؟
لا. إنه لهجة إسوتيرية مازحة من Brainfuck بقواعد نحو عامة ثابتة. استخدموا تشفيرًا حديثًا مصادقًا مثل AES-GCM للسرية الحقيقية.
لماذا يكون برنامج Ook! طويلًا إلى هذا الحد؟
لأن كل محرف يُبلغ بإضافة واحد في كل مرة إلى خلية واحدة قبل طباعته. فكلمة Hi وحدها تعطي 107 أوامر وبرنامجًا من 1069 محرفًا، معظمه أزواج مكررة من الكلمة نفسها.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/enc/ook-encode \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Hi"}'const res = await fetch("https://api.kit.forhosting.com/enc/ook-encode", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Hi"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/ook-encode",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Hi"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/ook-encode", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Hi"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Hi"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/ook-encode", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"text": "Hi"
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.ook_encode",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
يبني وضع الترميز برنامجًا حتميًا بخلية واحدة يضبط بايتًا ويطبع كل محرف؛ ويُجزّئ وضع الفك قواعد النحو ذات الرموز الثلاثة، ويرفض العدّ الفردي والأزواج المجهولة بـ invalid_input، ويُسقِط الباقي إلى Brainfuck وينفّذه بشريط وحدّ خطوات محدودين. استخدمه مجانًا في المتصفح لدروس اللغات الإسوتيرية وتمارين CTF والعروض القابلة للعكس، أو استدعِ واجهة API بسعر $0.002 لكل طلب ناجح عندما تحتاج الأنابيب إلى تحويلات Ook قابلة لإعادة الإنتاج.
ما هو Ook! وما الذي يعيده هذا الأداة
تتضمن استجابة JSON دائمًا result للبرنامج أو السلسلة المسترجعة، وencoding ثابتًا على ook، وmode على encode أو decode، وinput_length وoutput_length للسلاسل الخام التي أرسلتموها وتلقّيتموها، وcommand_count لعدد تعليمات Brainfuck المُنتَجة أو المنفَّذة، وbrainfuck لسلسلة الأوامر الوسيطة (مفيدة للتعليم والتنقيح)، وformula تعيد صياغة قاعدة أزواج الرموز الثلاثة. لا يوجد تراجع صامت إلى Morse أو Base64 أو وضع Brainfuck فقط: إما أن الحمولة صالحة للاتجاه المختار، أو يفشل الطلب بـ invalid_input.
كيف يُقرأ النص والوضع وكيف تفشل الأزواج التالفة
في وضع encode يجب أن يكون كل محرف وحدة Latin-1 في النطاق من صفر إلى مئتين وخمسة وخمسين، ويُحدّ الطول لحجم برنامج عملي، ويبني المحرك برنامج دلتا بخلية واحدة: يزيد أو ينقص من قيمة الخلية السابقة إلى رمز المحرف التالي، ثم يُصدِر أمر طباعة، ثم يترجم كل أمر Brainfuck إلى زوج Ook مفصول بمسافات. في وضع decode يُمسَح المصدر بحثًا عن رموز Ook بالنهايات الثلاث القانونية؛ ولا يجوز بين الرموز سوى المسافات البيضاء. الزوج المرتب الذي ليس أحد الأوامر الثمانية القانونية يفشل كذلك كزوج تالف بدلًا من تجاهله. تُرفَض أيضًا أقواس حلقات غير متطابقة، وحركات مؤشر خارج الشريط الثابت، وأوامر إدخال تقرأ من stdin، وحلقات تتجاوز حد الخطوات. حقول الحمولة المفضّلة هي text للرسالة أو مصدر Ook وmode اختياري لـ encode أو decode. يقبل text أسماءً بديلة مثل input وvalue وs وmessage وplaintext وciphertext وprogram حتى تعيد النماذج وعملاء SDK استخدام أسماء أعمدة قائمة. يكون mode افتراضيًا encode عند حذفه ويقبل أيضًا اختصارات مثل enc وencrypt وe وto_ook للترميز، وdec وdecrypt وd وfrom_ook وrun للفك؛ وأي سلسلة أخرى تفشل في التحقق. عدد فردي من الرموز يعني زوجًا مقطوعًا ويرفع دائمًا invalid_input برسالة صريحة عن أزواج رموز تالفة. النص المفقود، والنص الفارغ، والأنواع غير النصية، ووحدات الترميز فوق مئتين وخمسة وخمسين عند الترميز، والأوضاع المجهولة ترفع invalid_input. اقرنوا التشغيل المجاني في متصفح هذه الصفحة بواجهة API المدفوعة عندما تحتاجون إلى النتيجة الرياضية نفسها داخل أنبوب آلي. تُعيد المدخلات غير الصالحة invalid_input ولا تُحاسب، فيبقى التحقق رخيصًا بينما تظل التحويلات الناجحة بسعر عنصر ثابت.
أين يناسب Ook! الدروس والأحاجي وfixtures الاختبار
في هذه الصفحة يجري العمل بالكامل في متصفحكم؛ وعبر API تكلّف كل استعلام ناجح $0.002، ولا تُحاسب التحقق الفاشل، ولا يُخزَّن شيء بعد الاستجابة. هذا التقسيم—استكشاف تفاعلي مجاني وAPI مدفوعة مطابقة—يوافق بقية كتالوج KIT من المستوى A ويتيح الانتقال من عرض صف إلى أنبوب آلي دون تغيير النتيجة.
حالات التكامل
fixtures حتمية لـ CI
ولّدوا برامج Ook وأزواج نص مطبوع قابلة لإعادة الإنتاج لاختبارات الوحدة وملفات golden وفحوصات العقود.
أسئلة تقنية
كم تكلفة مُرمِّز Ook!؟
مجاني في متصفحكم على هذه الصفحة. عبر API يكلّف الطلب الناجح $0.002؛ والمدخلات غير الصالحة لا تُحاسب.