A Punycode (ejtsd: [ˈpjuːniˌkəʊd] ) egy szabványos módszer Unicode karaktersorozatok úgynevezett ACE szekvenciákká alakítására ( eng. ASCII Compatible Encoding - ASCII Compatible Encoding [1] ), amelyek csak alfanumerikus karakterekből állnak, mint ez a tartományban megengedett. neveket.
A Punycode-ot úgy tervezték, hogy a domain neveket egyértelműen ASCII - karakterek sorozatává alakítsa. A legtöbb böngésző használja [2] . Vannak olyan speciális programok vagy szolgáltatások is, amelyeket Punycode konvertereknek neveznek , amelyek lehetővé teszik Unicode karakterek sorozatának kódolását / dekódolását az ACE-ben és fordítva.
A Punycode bevezetésének legfontosabb oka az volt, hogy a szabvány által jóváhagyott domain névrendszerben csak 26 latin ábécé, 0-tól 9 -ig terjedő számok és kötőjel megengedett. Az angol és néhány más, latin ábécén alapuló nyelv esetében ez elegendő, de más nyelvek további karaktereket is tartalmazhatnak, például ä, övagy ü.
Az alapkarakterek a latin ábécé a - z karakterei (a nagy- és kisbetűk közötti különbségtétel nélkül), a 0-tól 9-ig terjedő számok és a "-" kötőjel ; csak 37 karakter. A transzformációs algoritmus két szakaszból áll. Az első szakaszban a fő ASCII kódolásban szereplő összes karaktert (0-127 kódok) kiválasztják a forrásszövegből, és sorban továbbítják a kódolt szóhoz. Ezt követően, ha nem ASCII karaktereket találunk a szövegben, egy kötőjelet adunk a kódolt szóhoz, majd az átalakítás az RFC 3492 [3] -ban leírt eljárás szerint történik .
PéldákKaraktersorozat | Kódolás |
---|---|
abcdef | abcdef |
abecdöef | abcdef-qua4k |
schon | schn-7qa |
ยจฆฟคฏข | 22cdfh1b8fsa |
☺ | 74 óra |
igazság | 80aafi6cg |