طريقة الاستخدام
- اكتب اسم النطاق في اسم النطاق. يصلح مقطع واحد أيضاً.
- أبقِ الاتجاه على الكشف التلقائي، أو اختر من يونيكود إلى ASCII أو من ASCII إلى يونيكود لفرض اتجاه واحد.
- انسخ الاسم بعد التحويل إلى لوحة DNS أو إعدادات البريد أو صفحتك.
- للاسم المكوّن من عدة أجزاء، راجع مقطعاً مقطعاً: كل صف يبيّن ما حدث لذلك المقطع.
كيف يصبح الاسم Punycode
نظام أسماء النطاقات لا يحمل إلا أحرف ASCII وأرقاماً وشرطات. لذلك تكتب RFC 3490 كل مقطع فيه حرف غير ASCII بصيغة ACE: البادئة xn-- يتبعها نص Punycode للمقطع. والمقطع الذي فيه أحرف ASCII وحدها يبقى كما هو، وكذلك النقاط بين المقاطع.
- المقطع example يبقى كما هو.
- المقطع bücher يأخذ البادئة xn-- ونص Punycode الخاص به، وهو هنا bcher-kva.
- المقطع الذي يبدأ بـ xn-- بأي حالة للأحرف يُفك إلى حروفه في يونيكود.
كيف يكتب Punycode المقطع
تكتب RFC 3492 أولاً أحرف ASCII الأساسية في المقطع بترتيبها، ثم شرطة، ثم عدداً متغير الطول لكل حرف آخر. والأعداد بالأساس 36، بالخانات من a إلى z ومن 0 إلى 9. ويتكيف حجم كل عدد مع الأعداد التي قبله، فتبقى الأحرف الشائعة قصيرة.
معاملاتها: الأساس 36، وtmin 1، وtmax 26، وskew 38، وdamp 700، وbias الابتدائي 72، وn الابتدائي 128 (RFC 3492، القسم 5).
ما لا تفحصه الأداة
- لا تُشغّل Nameprep (RFC 3491) ولا تحويل IDNA للأحرف، لذلك قد تخرج الأحرف غير ASCII الكبيرة وأحرف التوافق بشكل مختلف عن المتصفح.
- لا تفحص طول المقطع ولا طول الاسم كله.
- لا تبحث عن الاسم، ولا تخبرك إن كان مسجّل النطاق يسمح به.
مثال محسوب: bücher.example
المقطع bücher فيه حرف غير ASCII واحد هو ü. تأتي أولاً أحرفه الأساسية b وc وh وe وr، ثم شرطة، ثم العدد الذي يحدد موضع ü. فيصبح المقطع xn--bcher-kva، ويصبح الاسم كله xn--bcher-kva.example. ومقطع example فيه أحرف ASCII وحدها، فيبقى كما هو.
| المقطع | النتيجة | ما الذي حدث |
|---|---|---|
| bücher | xn--bcher-kva | رُمّز إلى xn-- |
| example | example | بلا تغيير |
الأسئلة الشائعة
ماذا تعني البادئة xn--؟
تدل على مقطع يحمل Punycode. وتقول RFC 3490 إن كل مقطع ACE يبدأ بالبادئة ACE، وهي xn-- بأي حالة للأحرف، يتبعها نص Punycode للمقطع.
هل تتغير الأحرف الكبيرة في مقطع ASCII؟
لا. تقول RFC 3490 إن مقطع ASCII يبقى كما هو، فيبقى Example كما هو. ولا يُعاد كتابة إلا حروف المقطع الذي فيه حرف غير ASCII.
لماذا يبدو اسمي مختلفاً عن النسخة التي يعرضها المتصفح؟
لا تحوّل الأداة الأحرف أولاً. تحوّل Nameprep وIDNA الأحرف غير ASCII الكبيرة وأحرف التوافق، مثل الأشكال عريضة العرض، إلى شكلها المعياري قبل خطوة Punycode. تحقق من النتيجة في المتصفح أو السجل الذي تستخدمه.
هل يرسل محوّل النطاقات اسم نطاقي إلى أي مكان؟
لا. يتم التحويل في متصفحك. لا يُرسل الاسم الذي تكتبه إلينا ولا يُخزَّن، ولا يُجرى أي بحث في DNS.
هل أستطيع تحويل عنوان بريد إلكتروني به؟
حوّل جزء النطاق فقط، أي النص بعد علامة @. وتترك الأداة الجزء الذي قبل @ كما هو.
ماذا يحدث حين يكون مقطع xn-- غير صالح؟
تتوقف الأداة وتذكر اسم المقطع. فبعد البادئة لا يستعمل المقطع الصالح إلا الأحرف من a إلى z والأرقام والشرطات، ويجب أن ينتهي العدد، لذلك تحقق من المقطع بحثاً عن خطأ في الكتابة.
المصادر
- RFC 3492 (باللغة الإنجليزية): Punycode، ترميز Bootstring لليونيكود (الأقسام 5 و6 و7.1)
- RFC 3490 (باللغة الإنجليزية): تدويل أسماء النطاقات في التطبيقات، IDNA (الأقسام 2 و4.1 و5)
آخر مراجعة للأرقام والنص: الثلاثاء، 30 جمادى الأولى 1448 بعد الهجرة.