الخلاصة
- نسخ Bootstring نقاط ASCII الأساسية حرفياً، ثم مثّل كل نقطة غير أساسية بفرق يجمع المسافة العددية وموضع الإدراج في الخرج المتنامي.
- جعلت الأعداد المتغيرة ذاتية النهاية والانحياز التكيفي التمثيل وحيداً وعكوساً، لكنها لم تترجم أو تطبّع ولم تثبت قبول IDNA أو التسجيل أو الهوية.
يبدو ذيل Punycode غامضاً لأن القارئ البشري ليس جمهوره. يبدأ decoder بالرموز التي يمكن لـASCII حملها، ثم يدرج البقية في الفجوات الدقيقة حتى يستعيد التسلسل الأصلي. إنه يعيد ترتيب أعداد صحيحة، لا يفسر لغة.
يفصل Bootstring أولاً نقاط الترميز الأساسية. تنسخ إلى البداية بترتيبها النسبي، ثم يوضع delimiter إذا وُجدت واحدة منها. في Punycode المجموعة الأساسية هي ASCII والفاصل هو الواصلة. الجزء الحرفي ليس ترجمة جزئية، بل ما لا يحتاج إلى ترميز.
يحمل الذيل البنية الناقصة. يحتفظ decoder بالقيمة n كنقطة مرشحة، وبـi كموضع إدراج محتمل. تتحرك الحالة عبر الفجوات؛ وعند النهاية تعود i إلى الصفر وتزداد n. يحصي delta حالات عدم الإدراج التي تسبق وضع n الحالية في i الحالية.
وهكذا يحمل عدد غير سالب مسافة في فضاء نقاط الترميز ومكاناً في السلسلة معاً. يعالج encoder النقاط غير الأساسية بترتيبها العددي لتصغر المسافات غالباً، ويشتق فروقاً تجعل decoder يعيد ترتيب الظهور الأصلي. لا حاجة إلى جدول مواضع منفصل.
ولأن الفروق متصلة، يستخدم Bootstring أعداداً معممة متغيرة الطول. تحدد عتبة لكل خانة إن كان العدد مستمراً، وتنهيه خانة وحيدة أدنى من عتبتها. يسمح الترتيب little-endian بالفصل من البداية، ويمنح كل قيمة غير سالبة تمثيلاً واحداً.
يتغير bias بعد كل فرق. تُخمَّد القفزة الأولى بقوة، ثم يراعي التكيف طول الخرج الحالي. يصبح الفرق الأخير مؤشراً إلى حجم التالي المتوقع. هذا ليس نموذج لغة، بل توقع حسابي محلي يوفر رموزاً عند تقارب المقادير.
ثبت Punycode الأساس 36، والحروف للقيم من صفر إلى 25، والأرقام من 26 إلى 35، وn الابتدائية 128، والانحياز الابتدائي 72. تؤثر المعلمات في الكفاءة لا الصحة ما دامت القيود مستوفاة. ويجب كشف overflow؛ فحدود IDNA لا تبرر تجاهل الحساب الآمن في تنفيذ عام.
منعت الوحدانية أن يحصل تسلسل Unicode واحد على وسوم ASCII متعددة تحت سلطات DNS مختلفة. لكنها لا تجعل المعنى البشري وحيداً. قد تعتبر قواعد اللغة أو التطبيع تسلسلين مختلفين نصاً واحداً. يأخذ Punycode تسلسلاً مختاراً ولا يصدر ذلك الحكم.
أدخلت RFC 3490 الخوارزمية في IDNA، وأبقى IDNA2008 وسوم Punycode مع تغيير قواعد الإعداد والصلاحية المحيطة. هذا مثال على الحد الأدنى للمواصفة الأولية عند Heng Lu: يبقى التحويل الضيق العكوس مستقراً، بينما تتطور سياسات الحروف والتحويل والتسجيل في طبقاتها.
المدخل، والإعداد، والجزء الحرفي، والفروق، وإعادة البناء، والقبول، والتسجيل، وإجابة DNS، والهوية إيصالات مختلفة. يربط Punycode التسلسل بتمثيله ASCII فقط؛ ودقته لا تمنحه سلطة على البقية.
المصادر
إحاطة الأعضاء
سياق أعمق للملف الشخصي
سجّل الدخول بمستوى العضوية المناسب لفتح الإحاطة الكاملة وملاحظات المصادر.
للدائرة الاستراتيجية فقط
الدائرة الاستراتيجية
مفتوح لجميع القراء. افتح إحاطات الملف الشخصي بعد الانضمام وتسجيل الدخول.
انضم إلى الدائرة الاستراتيجيةلأعضاء تحالف القيادات فقط
تحالف القيادات
لأصحاب الأصول الفكرية المؤهلين وللإدارة؛ سجّل الدخول للوصول إلى إحاطات التحالف.
انضم إلى تحالف القيادات
