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

مُرمِّز UTF-7 المعدّل لـ IMAP

احصلوا على اسم المجلد كما يتوقعه خادم IMAP تمامًا: يصبح Inbox/日本語 ‏Inbox/&ZeVnLIqe-، ويعود الاسم الغامض الظاهر في السجل إلى صيغته المقروءة. أما الأسماء الإنجليزية الخالصة فلا تتغير. مجاني في متصفحكم.

  • مجاني
  • يعمل في متصفحك
  • دون تسجيل
  • بياناتك لا تغادر جهازك
استخدمها من الويبAPIالبريدTelegramالتطبيق قريبًا
إذا أدخلت
النص
Inbox/日本語
وضع الحساب
Encode
تحصل على
النتيجة
Inbox/&ZeVnLIqe-
الترميز
modified_utf7_imap
طول المُدخَل
9
طول المُخرَج
16

أسماء صناديق بريد IMAP على السلك تستخدم لهجة من UTF-7 تُدعى UTF-7 المعدّل (RFC 3501 القسم 5.1.3). أحرف US-ASCII القابلة للطباعة عدا علامة العطف تبقى على صورتها العادية؛ وعلامة العطف المفردة تصبح التسلسل المكوّن من حرفين علامة-عطف ثم شرطة؛ وكل حرف آخر—من لهجات وCJK وإيموجي ورموز تحكم—يُعبَّأ كـ UTF-16BE داخل قسم Base64 معدّل يبدأ بعلامة عطف وينتهي بشرطة، مع استبدال الشرطة المائلة بفاصلة. هذه الأداة ترمّز اسم مجلد Unicode مقروءًا إلى سلسلة السلك تلك أو تفكّ استجابة LIST/SELECT إلى نص مقروء.

ما هو UTF-7 المعدّل في IMAP وماذا يُرجع هذا المحوّل

بروتوكولات الصناديق القياسية ما زالت تتبادل أسماء المجلدات كسلاسل آمنة بسبعة بتات حتى عندما ينشئ المستخدمون تسميات باليابانية أو الإسبانية أو العربية أو بالإيموجي. حلّ IMAP ذلك بـ UTF-7 المعدّل بدل UTF-8 الخام على كل مسار خادم: يبقى الاسم مقروءًا إلى حد كبير عندما يكون إنجليزيًا فقط، بينما تتحوّل المقاطع الدولية إلى كتل مضغوطة ملفوفة بعلامات عطف. قواعد الترميز صارمة.

الأحرف من المسافة إلى التلدة، عدا علامة العطف، تُكتب دون تغيير. علامة العطف نفسها لا تُترك عارية أبدًا؛ تُكتب دائمًا كعلامة عطف متبوعة بشرطة حتى يعامل المحلّلون كتلة Base64 التالية كإزاحة مقصودة. أي حرف خارج تلك المجموعة المباشرة يُجمع في سلسلة، ويُحوَّل إلى وحدات ترميز UTF-16 بترتيب بايتات كبير، ثم يُرمَّز بـ Base64 بالأبجدية الكلاسيكية باستثناء أن الرمز الرابع والستين هو فاصلة بدل الشرطة المائلة، وتُحذف علامات التساوي للحشو.

وضع encode يُرجع سلسلة السلك تلك مع الوضع المحلول وتسمية ترميز ثابتة وأطوال الإدخال والإخراج.

أين يناسب ترميز أسماء الصناديق في العملاء والخوادم والاختبارات

يلتقي مؤلّفو العملاء بـ UTF-7 المعدّل عند تنفيذ CREATE أو RENAME أو LIST أو LSUB ويحتاجون أن يطابق الاسم على السلك ما يتوقّعه Dovecot أو Cyrus أو Exchange أو Gmail للمجلدات الدولية. يلصق مهندسو الدعم رمز مجلد غامضًا من سجل بروتوكول ويحتاجون التسمية البشرية دون فتح عميل سطح مكتب. تطبع خدمات الخلفية عناوين المجلدات الموجّهة للمستخدم قبل تخزينها في وكيل IMAP أو قبل مقارنة أهداف SELECT في اختبارات التكامل.

يولّد مهندسو الجودة أزواج encode وdecode لاختبارات العقد حتى لا يغيّر تحديث مكتبة بصمت الفاصلة مقابل الشرطة المائلة في Base64 أو يسقط تهريب علامة العطف. يستخدم المعلّمون الصفحة نفسها عند شرح الفرق بين امتدادات صناديق UTF-8 وUTF-7 المعدّل القديم وأسماء العرض التي لا تمس السلك أبدًا. اقرنوها بمُرمِّزات مجانية أخرى في الكتالوج عند بناء مختبر صغير لأدوات نص حتمية للبريد وعمل MIME.

تصحيح عملاء وخوادم IMAP

رمّزوا أسماء مجلدات Unicode لـ CREATE أو SELECT، أو فكّوا استجابات LIST التي تحتوي مقاطع UTF-7 معدّل ملفوفة بعلامات عطف.

توليد بيانات بروتوكول ثابتة

أنتجوا أزواج أسماء صناديق قابلة للتكرار لاختبارات الوحدة وملفات ذهبية وفحوص تكامل IMAP عبر اللغات.

ترجمة سجلات الدعم

حوّلوا رموز صناديق سلكية غامضة من آثار البروتوكول إلى تسميات Unicode مقروءة دون عميل بريد كامل.

كيف يختلف UTF-7 المعدّل في IMAP عن UTF-7 العادي؟

يستخدم IMAP علامة العطف كحرف إزاحة بدل الزائد، وأبجدية Base64 تستخدم الفاصلة بدل الشرطة المائلة. تُكتب علامة العطف نفسها كعلامة-عطف-شرطة. تُحذف علامات التساوي للحشو.

ماذا يُرجع وضع encode لـ ASCII العادي؟

نفس سلسلة ASCII القابلة للطباعة، لأن أحرف US-ASCII المباشرة عدا علامة العطف تمثّل نفسها. فقط الأحرف غير المباشرة وعلامات العطف العارية تُعاد كتابتها.

كيف تُرمَّز علامة عطف حرفية؟

كتسلسل الحرفين علامة-عطف-شرطة (&-). يبقي ذلك تحليل الإزاحة غير ملتبس عندما يتبع قسم Base64 حقيقي لاحقًا في الاسم.

كيف أقرأ اسم مجلد مثل Inbox/&ZeVnLIqe- ظهر في سجل؟

اختاروا فك الترميز والصقوا الاسم كما يظهر. يعود كل مقطع بين علامة العطف والشرطة إلى حروفه، فيُقرأ Inbox/&ZeVnLIqe- من جديد Inbox/日本語.

لماذا قد يتعذر فك اسم مكتوب بـ UTF-7 المعدّل؟

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

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

POSThttps://api.kit.forhosting.com/enc/utf7-imap

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

curl -X POST https://api.kit.forhosting.com/enc/utf7-imap \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"Inbox/日本語"}'
{
  "text": "Inbox/日本語"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "enc.utf7_imap",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

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

لكل طلب$0.002

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

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

الخوارزمية حتمية بالكامل، وتعمل مجانًا في متصفّحكم، وتبلّغ عن تسلسلات إزاحة تالفة وBase64 سيّئ وغير ASCII غير قانوني عارٍ عبر invalid_input بدل التخمين. استدعاءات API الناجحة تكلّف $0.002 لكل منها؛ وإخفاقات التحقق لا تُحتسب.

ما هو UTF-7 المعدّل في IMAP وماذا يُرجع هذا المحوّل

وضع decode يعكس المسار: ينسخ ASCII المباشر، ويوسّع علامة-عطف-شرطة إلى علامة عطف واحدة، ويحوّل كل قسم علامة-عطف-حمولة-شرطة إلى Unicode. شكل JSON مستقر للاختبارات والعملاء SDK، فيمكن لاختبار ذهبي أن يثبّت سلاسل صناديق دقيقة دون تسامح عائم أو تنسيق يعتمد على اللغة.

كيف يُتحقَّق من text وmode ومتى تفشل الطلبات

الوضع mode افتراضيًا encode ويقبل decode؛ والمستعارات op وdirection وaction تُطابق المفتاح نفسه. يقبل encode أي سلسلة Unicode سليمة حتى حد الأحرف الموثّق، ويسير وحدات الترميز بعناية حتى تبقى أزواج الـ surrogate لأحرف خارج BMP معًا، ويرفض الـ surrogate غير المقترنة بدل إصدار Base64 تالف. تُرفض أقسام Base64 الفارغة بين علامة العطف والشرطة لأن الإزاحة الفارغة القانونية الوحيدة هي الحرفي المخصّص علامة-عطف-شرطة لعلامة عطف واحدة. الحقل الإلزامي هو text، مع الأسماء المستعارة input وvalue وs حتى تعيد النماذج والسكربتات استخدام أسماء أعمدة قائمة. يتطلب decode سلسلة UTF-7 معدّل سليمة: علامة عطف في نهاية الإدخال بلا شرطة إغلاق، أو حمولة Base64 بأحرف خارج A–Z a–z صفر–تسعة زائد وفاصلة، أو حمولة تُفكّ إلى عدد فردي من البايتات، أو أحرف غير ASCII خارج قسم إزاحة—كلها تفشل بـ invalid_input ورسالة دقيقة. يتجنّب المسار كله Date والأرقام العشوائية وشبكة I/O، فيبقى عرض المتصفّح وذهب CI وردود API متطابقة بتّيًا لنفس الإدخال. التحقق الفاشل لا يُفوتر، فيمكنكم فحص أسطر LIST السيئة بتكلفة منخفضة بينما تبقى التحويلات الناجحة عند $0.002 لكل عنصر.

أين يناسب ترميز أسماء الصناديق في العملاء والخوادم والاختبارات

على هذه الصفحة يعمل التحويل مجانًا في المتصفّح؛ وعبر API يكلّف كل طلب ناجح $0.002، ولا يُخزَّن شيء بعد الرد، وتتوافق الرياضيات مع أمثلة RFC مثل مسار تايبيه واليابانية الكلاسيكي الذي يصبح سلسلة مقاطع Base64 معدّلة ملفوفة بعلامات عطف.

أي أخطاء تسبّب invalid_input؟

إزاحات علامة عطف غير منتهية، أحرف Base64 غير قانونية، سلاسل بايتات مفكوكة بطول فردي، surrogate غير مقترنة، غير ASCII عارٍ خارج قسم إزاحة، ونص مفقود. الاستدعاءات الفاشلة لا تُحتسب.

كم تكلّف واجهة API؟

$0.002 لكل طلب ناجح. الأداة في المتصفّح مجانية. الإدخال غير الصالح لا يُحتسب.

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