Punycode
Deprecato da: v7.0.0
[Stabile: 0 - Deprecato]
Stabile: 0 Stabilità: 0 - Deprecato
Codice Sorgente: lib/punycode.js
La versione del modulo punycode incluso in Node.js è deprecata. In una futura versione major di Node.js questo modulo verrà rimosso. Gli utenti che attualmente dipendono dal modulo punycode
dovrebbero passare all'utilizzo del modulo Punycode.js fornito dall'utente. Per la codifica URL basata su punycode, vedere url.domainToASCII
o, più in generale, la WHATWG URL API.
Il modulo punycode
è una versione inclusa del modulo Punycode.js. È accessibile usando:
const punycode = require('node:punycode')
Punycode è uno schema di codifica dei caratteri definito da RFC 3492 che è principalmente destinato all'uso nei nomi di dominio internazionalizzati. Poiché i nomi host negli URL sono limitati solo ai caratteri ASCII, i nomi di dominio che contengono caratteri non ASCII devono essere convertiti in ASCII utilizzando lo schema Punycode. Ad esempio, il carattere giapponese che si traduce nella parola inglese, 'example'
è '例'
. Il nome di dominio internazionalizzato, '例.com'
(equivalente a 'example.com'
) è rappresentato da Punycode come stringa ASCII 'xn--fsq.com'
.
Il modulo punycode
fornisce un'implementazione semplice dello standard Punycode.
Il modulo punycode
è una dipendenza di terze parti utilizzata da Node.js e resa disponibile agli sviluppatori per comodità. Le correzioni o altre modifiche al modulo devono essere indirizzate al progetto Punycode.js.
punycode.decode(string)
Aggiunto in: v0.5.1
string
<string>
Il metodo punycode.decode()
converte una stringa Punycode di caratteri ASCII-only nella stringa equivalente di codepoint Unicode.
punycode.decode('maana-pta') // 'mañana'
punycode.decode('--dqo34k') // '☃-⌘'
punycode.encode(string)
Aggiunto in: v0.5.1
string
<string>
Il metodo punycode.encode()
converte una stringa di codepoint Unicode in una stringa Punycode Punycode di soli caratteri ASCII.
punycode.encode('mañana') // 'maana-pta'
punycode.encode('☃-⌘') // '--dqo34k'
punycode.toASCII(domain)
Aggiunto in: v0.6.1
domain
<string>
Il metodo punycode.toASCII()
converte una stringa Unicode che rappresenta un Nome di Dominio Internazionalizzato in Punycode. Solo le parti non ASCII del nome di dominio saranno convertite. Chiamare punycode.toASCII()
su una stringa che contiene già solo caratteri ASCII non avrà alcun effetto.
// codifica nomi di dominio
punycode.toASCII('mañana.com') // 'xn--maana-pta.com'
punycode.toASCII('☃-⌘.com') // 'xn----dqo34k.com'
punycode.toASCII('example.com') // 'example.com'
punycode.toUnicode(domain)
Aggiunto in: v0.6.1
domain
<string>
Il metodo punycode.toUnicode()
converte una stringa che rappresenta un nome di dominio contenente caratteri codificati Punycode in Unicode. Solo le parti codificate Punycode del nome di dominio saranno convertite.
// decodifica nomi di dominio
punycode.toUnicode('xn--maana-pta.com') // 'mañana.com'
punycode.toUnicode('xn----dqo34k.com') // '☃-⌘.com'
punycode.toUnicode('example.com') // 'example.com'
punycode.ucs2
Aggiunto in: v0.7.0
punycode.ucs2.decode(string)
Aggiunto in: v0.7.0
string
<string>
Il metodo punycode.ucs2.decode()
restituisce un array contenente i valori numerici dei codepoint di ogni simbolo Unicode nella stringa.
punycode.ucs2.decode('abc') // [0x61, 0x62, 0x63]
// coppia di surrogate per U+1D306 tetragramma per centro:
punycode.ucs2.decode('\uD834\uDF06') // [0x1D306]
punycode.ucs2.encode(codePoints)
Aggiunto in: v0.7.0
codePoints
<integer[]>
Il metodo punycode.ucs2.encode()
restituisce una stringa basata su un array di valori numerici di punti codice.
punycode.ucs2.encode([0x61, 0x62, 0x63]) // 'abc'
punycode.ucs2.encode([0x1d306]) // '\uD834\uDF06'
punycode.version
Aggiunto in: v0.6.1
Restituisce una stringa che identifica il numero di versione corrente di Punycode.js.