Punycode

Punycode (вимовляється як "пунікод" або "пьюнікод") - стандартизований метод перетворення послідовностей Unicode -символів у так звані ACE-послідовності, які складаються тільки з алфавітно-цифрових символів, як це дозволено в доменних іменах. Punycode був розроблений для однозначного перетворення доменних імен в послідовність ASCII -символів.


1. Мотивація

Найважливішою причиною введення Punycode був той факт, що в затвердженій стандартом системі доменних імен дозволені тільки 26 символів латинського алфавіту, цифри від 0 до 9 і дефіс. Для англійської та деяких інших мов з латинським алфавітом цього достатньо, проте інші мови, в тому числі і з латинським алфавітом, містять додаткові символи, наприклад, , або .

2. Правила перетворення

В якості базисних символів виступають символи латинського алфавіту від a до z (без відмінності між великими і малими літерами), цифри від 0 до 9 і дефіс "-"; всього 37 символів.

Приклади
Послідовність символів Кодування
abcdef abcdef
abcdef abcdef-qua4k
schn schn-7qa
ย จ ฆ ฟ ค ฏ ข 22cdfh1b8fsa
74h
правда 80aafi6cg
почемужеонинеговорятпорусски (приклад з RFC 3492) b1abfaaepdrnnbgefbaDotcwatmq2g4l

3. Браузери з підтримкою Punycode


3.1. Підтримка кириличних доменів


4. Punycode-конвертери

Існують також спеціальні програми або сервіси, звані Punycode-конвертерами, що дозволяють здійснювати кодування / декодування послідовності Unicode-символів у ACE і навпаки. Наприклад, Punycode-конвертер

Примітки