FreeToGenerate.com

متصفحك يرمّز النطاق إلى ‎xn--‎ مجانًا. وأما فكُّ ترميزه فلا يفعله، وهو الاتجاهُ الذي تحتاجه أنت.

ألصق نطاقًا لتحويله.

متوفر أيضًا بلغات أخرى: English · Español · Português · Français

محوّل Punycode

فكَّ ترميزِ نطاقات ‎xn--‎ لترى الحروف التي تقولها حقًّا، وترميزًا في الاتجاه الآخر، وبيانًا بأنظمة الكتابة التي يستند إليها الاسم.

ما Punycode؟

أسماءُ النطاقات كما تسري في الشبكة لا تحتمل إلا الحروف من a إلى z والأرقامَ والشرطات. وPunycode، المعرَّف في RFC 3492، هو طريقةُ إدخال نطاقٍ مكتوبٍ بأيّ خطٍّ آخر في تلك الأبجدية: فـmünchen.de يصير xn--mnchen-3ya.de، وпример.рф يصير xn--e1afmkfd.xn--p1ai. والبادئةُ ‎xn--‎ تشير إلى وسمٍ مرمَّزٍ هكذا، وما بعدها هو الـpunycode نفسُه.

وهي هندسةٌ بارعة. فالمحارفُ ASCII تُنسخ أولًا، ثم تصف سلسلةٌ مضغوطةٌ من الأرقام بالأساس ستةٍ وثلاثين أيَّ المحارف غير ASCII تُدرَج وفي أيّ موضع. فلا يضيع شيء، والترميزُ عكوس، والأسماءُ القصيرة تبقى قصيرة.

وأنت تلقاه في حالين غالبًا: إما أن يعرض لك المتصفحُ رابطًا مثل xn--80ak6aa92e.com فتريد أن تعرف ماذا يقول حقًّا، وإما أن يكون عندك نطاقٌ بخطّك فتحتاج صورتَه ASCII لملفِّ إعدادٍ أو شهادةٍ أو سجلِّ DNS. وهذه الأداةُ تصنع الأمرين، في متصفحك وحده.

كيف تستعملها؟

  1. اختر الاتجاه الذي تريده. «من punycode إلى يونيكود» يعيد نطاق ‎xn--‎ حروفًا. و«من يونيكود إلى punycode» يمضي عكسًا، حين تحتاج صورةَ ASCII.
  2. ألصق النطاق. والنطاقاتُ الكاملة تصلح لا الوسومُ المفردة وحدها: فكلُّ جزءٍ بين النقاط يُحوَّل على حدةٍ، كما يعامله DNS بالضبط.
  3. اقرأ التفصيلَ وسمًا وسمًا وقائمةَ أنظمة الكتابة. فكلُّ وسمٍ يظهر مع ناتجه، فترى أيَّها حمل الترميز. وتحته تُسرد أنظمةُ الكتابة المستعملة، مع تنبيهٍ إن خلط وسمٌ واحدٌ أكثرَ من واحد.

المتصفحُ يصنع اتجاهًا ويأبى الآخر

وهذا جديرٌ بأن يُعلَم، لأنه يفسّر وجودَ أدواتٍ كهذه أصلًا. فكلُّ متصفحٍ يحمل في جوفه تنفيذًا كاملًا لـpunycode، وتستطيع من جافاسكربت بلوغَ بعضه: فبناءُ عنوانٍ من münchen.de يعيد اسمَ مضيفٍ xn--mnchen-3ya.de. فاتجاهُ الترميز مجاني.

وأما العكسُ فغيرُ متاح. أعطِ المحلّلَ نفسَه xn--mnchen-3ya.de يعده إليك كما هو، وذلك صوابٌ لأنه اسمُ مضيفٍ صحيحٌ أصلًا ولا داعيَ لمسّه، غير أن معناه أن المنصّة لن تخبرك بما يقوله نطاقٌ مرمَّز. وذاك عينُ الاتجاه الذي يحتاجه من ينظر في رابطٍ مريب، فلا بدّ من تنفيذه لا استعارته. وهذه الصفحةُ تنفّذ RFC 3492 كاملًا، مفحوصًا على متجهات الاختبار التسعةَ عشرَ التي تنشرها المواصفةُ نفسُها.

اسمان يبدوان واحدًا وليسا كذلك

وسببُ أهمية punycode وراء الطرفة أنه الطريقُ الذي يُسجَّل به النطاقُ المنتحِل. فالـa اللاتينية والـа الكيريلية محرفان مختلفان ترسمهما أكثرُ الخطوط رسمًا واحدًا. اكتب apple.com بالكيريلية يُرمَّز xn--pple-43d.com: نطاقٌ مختلفٌ كلَّ الاختلاف، ويبدو في شريط العنوان قريبًا جدًّا من الحقيقي.

والفحصُ الذي تصنعه المتصفحات هو: هل يخلط وسمٌ واحدٌ أنظمةَ كتابة؟ وهذه الأداةُ تريك الشيءَ نفسَه. فاسمٌ فيه حرفٌ كيريليٌّ بين لاتينيةٍ يُعلَّم. غير أن لذلك الفحص ثغرةً ينبغي فهمُها: فوسمٌ مكتوبٌ كلُّه بأشباهٍ كيريلية نصٌّ متّسقٌ من نظامٍ واحد، فيمرّ. وعدةُ حروفٍ كيريلية تشبه اللاتينية شبهًا يكفي لكتابة كلماتٍ بتمامها. فتنبيهُ الخلط إشارةٌ نافعةٌ لا ضمان، وهذه الصفحةُ تقول ذلك بدل أن توهم أن غيابَ التنبيه أمان.

وفي الترميز نفسِه مفاجأتان أخريان. فالـß الألمانية من حفنةِ محارفَ تغيّر معناها بين نسختَي معيار IDNA: فبالقواعد القديمة كان faß.de يُردّ إلى fass.de وكانا نطاقًا واحدًا، وبالقواعد الحالية يُرمَّز faß.de إلى xn--fa-hia.de فيكونان تسجيلين مختلفين. وفي اليونانية، رفعُ نطاقٍ إلى الحروف الكبيرة ثم ردُّه صغيرًا لا يعيد النطاقَ الذي بدأتَ منه، لأن Σ في آخر الكلمة تصير ς لا σ، فـΣΊΣΥΦΟΣ.gr وσίσυφος.gr ليسا الاسمَ نفسَه.

حدودٌ صادقة

هذه تحوّل punycode؛ ولا تخبرك أخطِرٌ نطاقٌ أم لا. فقد يكون الاسمُ عاديًّا تمامًا بخطّه، وقد يكون ASCII محضًا وهو مع ذلك موقعُ تصيّد. والذي تعطيه الأداةُ هو الحروفُ وأنظمةُ الكتابة، وهي معلومةٌ لا يعرضها شريطُ العنوان وتنفع نفعًا حقيقيًّا، غير أن الحكمَ حكمُك.

وكشفُ أنظمة الكتابة خشنٌ عمدًا. فهو يغطّي اللاتيني واليوناني والكيريلي والهان والعربي والعبري، وهي المدَياتُ التي يعنيها الالتباسُ موضوعُ هذه الصفحة، وكلُّ ما عداها يُوسَم «آخر» بدل أن يُحزَر. والأرقامُ والشرطاتُ والعلامات تُحسب «مشتركًا» ولا تجعل النطاقَ يبدو مخلوطًا وحدها أبدًا.

وثمة فوق punycode طبقةٌ لا تفرضها هذه الأداة. فـIDNA2008 له قواعدُ في أيّ المحارف يجوز أن يظهر في نطاقٍ أصلًا، والمتصفحاتُ تزيد قيودًا من عندها؛ وأكثرُ السجلات لن تبيعك اسمًا مخلوطَ الخطوط من الأساس. فنطاقٌ تحوّله هذه الصفحةُ بلا تردّدٍ قد يكون مما لا يقبله مسجِّل. وبالعكس: المتصفحُ يرمّز ما تمنعه المواصفة، كنطاقٍ برمزٍ تعبيري، أو شرطةٍ في الأول أو الآخر.

وأخيرًا ففكُّ الترميز يجري على الوسم وحده. فإن لم يحمل الاسمُ البادئةَ ‎xn--‎ مرّ كما هو، إذ لا سبيل إلى تمييز punycode غيرِ الموسوم من كلمةٍ عاديةٍ تشبهه مصادفةً.

لماذا هي مجانية؟

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

فلا حساب ولا تسجيل ولا شيءَ محجوب. والخوارزميةُ هي RFC 3492 كما نُشرت، مفحوصةً على متجهات الاختبار التسعةَ عشرَ التي في المواصفة نفسِها وعلى تنفيذٍ مرجعيٍّ مستقل.