Punycode
Punycode (произносится как «пуникод» или «пьюникод») — стандартизированный метод преобразования последовательностей Unicode-символов в так называемые ACE-последовательности, которые состоят только из алфавитно-цифровых символов, как это разрешено в доменных именах. Punycode был разработан для однозначного преобразования доменных имен в последовательность ASCII-символов.
Мотивация[править | править код]
Важнейшей причиной введения Punycode был тот факт, что в утверждённой стандартом системе доменных имен разрешены только 26 символов латинского алфавита, цифры от 0 до 9 и дефис. Для английского и некоторых других языков с латинским алфавитом этого достаточно, однако другие языки, в том числе и с латинским алфавитом, содержат дополнительные символы, например, ä
, ö
или ü
.
Правила преобразования[править | править код]
В качестве базисных символов выступают символы латинского алфавита от a до z (без различия между прописными и строчными буквами), цифры от 0 до 9 и дефис «-»; всего 37 символов.
Последовательность символов | Кодировка |
---|---|
abcdef | abcdef |
abæcdöef | abcdef-qua4k |
schön | schn-7qa |
ยจฆฟคฏข | 22cdfh1b8fsa |
☺ | 74h |
правда | 80aafi6cg |
почемужеонинеговорятпорусски (пример из RFC 3492) | b1abfaaepdrnnbgefbaDotcwatmq2g4l |
Браузеры с поддержкой Punycode[править | править код]
- Arora
- Google Chrome
- Internet Explorer с 7-й версии (версии 5 и 6 только при помощи дополнений от сторонних разработчиков), для нормальной работы необходима настройка кодировок
- Konqueror
- Midori
- Mozilla Firefox
- Mozilla Application Suite
- Opera
- Safari
- SeaMonkey с версии 1.0
Поддержка кириллических доменов[править | править код]
- Internet Explorer, начиная с версии 7.0
- Mozilla Firefox, начиная с версии 3.6.4[1]
- Chrome, начиная с 6 версии — полная поддержка.
- Safari, начиная с версии 5.0[2]
- Opera[3]
- Avant Browser, начиная с версии 2010года, build 7[3]
- SeaMonkey, начиная с версии 2.0.5[3]
- GreenBrowser, начиная с версии 5.4.0609[3]
- Opera Mini[3]
Punycode-конвертеры[править | править код]
Существуют также специальные программы или сервисы, называемые Punycode-конвертерами, позволяющие осуществлять кодирование/декодирование последовательности Unicode-символов в ACE и наоборот.
Примечания[править | править код]
- ↑ bugzilla.mozilla.org
- ↑ Браузер Safari обновился до 5й версии (русск.). Хабрахабр (Шаблон:HumanizeDate). Проверено 8 июня 2010.
- ↑ а б в г д Результаты проведённого компанией REG.RU тестирования работы браузеров с доменом .РФ (русск.). REG.RU (Шаблон:HumanizeDate). Проверено 30 сентября 2010.
Ссылки[править | править код]
- RFC 3492 — Punycode: A Bootstring encoding of Unicode for Internationalized Domain Names in Applications (IDNA)