~1 دقیقه مطالعه • بروزرسانی ۹ دی ۱۴۰۴
1. معرفی
Punycode یک روش رمزگذاری کاراکتر است که رشتههای Unicode را به ASCII تبدیل میکند. این روش برای دامنههای بینالمللی ضروری است تا بتوانند در سیستمهای مبتنی بر ASCII استفاده شوند.
const punycode = require('node:punycode');
2. متدهای اصلی
punycode.encode(string): تبدیل رشتهٔ Unicode به Punycode.punycode.decode(string): تبدیل رشتهٔ Punycode به Unicode.
punycode.encode('mañana'); // 'maana-pta'
punycode.decode('maana-pta'); // 'mañana'
3. تبدیل دامنهها
punycode.toASCII(domain): تبدیل دامنهٔ Unicode به Punycode.punycode.toUnicode(domain): تبدیل دامنهٔ Punycode به Unicode.
punycode.toASCII('mañana.com'); // 'xn--maana-pta.com'
punycode.toUnicode('xn--maana-pta.com'); // 'mañana.com'
4. کار با UCS2
punycode.ucs2.decode(string): بازگرداندن آرایهای از کدپوینتها.punycode.ucs2.encode(codePoints): ساخت رشته از آرایهٔ کدپوینتها.
punycode.ucs2.decode('abc'); // [0x61, 0x62, 0x63]
punycode.ucs2.encode([0x61, 0x62, 0x63]); // 'abc'
5. نسخه
punycode.version: نمایش نسخهٔ فعلی Punycode.js.
6. وضعیت و جایگزینها
ماژول punycode در Node.js منسوخ شده و در آینده حذف خواهد شد. برای استفادهٔ جدید باید از:
- کتابخانهٔ مستقل Punycode.js.
- متدهای
url.domainToASCIIیا APIهای WHATWG URL.
نتیجهگیری
ماژول punycode ابزاری ساده برای کار با دامنههای بینالمللی در Node.js بود، اما اکنون منسوخ شده است. توسعهدهندگان باید به سمت استفاده از کتابخانههای مستقل یا APIهای مدرن حرکت کنند تا از پشتیبانی آینده و استانداردهای جدید بهرهمند شوند.
نوشته و پژوهش شده توسط دکتر شاهین صیامی