Interested Article - Punycode
- 2020-07-17
- 1
Punycode ( [ˈpjuːniˌkəʊd] ), также паникод , пюникод или пьюникод — стандартизированный метод преобразования последовательностей Unicode -символов в так называемые ACE-последовательности ( англ. ASCII-compatible encoding — кодировка, совместимая с ASCII ), которые состоят только из алфавитно-цифровых символов, как это разрешено в доменных именах.
Punycode был разработан для однозначного преобразования доменных имен в последовательность ASCII -символов. Используется в большинстве браузеров . Существуют также специальные программы или сервисы, называемые Punycode-конвертерами , позволяющие осуществлять кодирование/декодирование последовательности Unicode-символов в ACE и наоборот.
Причины использования
Важнейшей причиной введения Punycode был тот факт, что в утверждённой стандартом
системе доменных имен
разрешены только 26 символов латинского алфавита, цифры
от 0 до 9
и дефис.
Для английского и некоторых других языков на основе латинского алфавита этого достаточно, однако другие языки могут содержать дополнительные символы, например,
ä
,
ö
или
ü
.
Правила преобразования
В качестве базисных символов выступают символы латинского алфавита a—z (без различия между прописными и строчными буквами), цифры от 0 до 9 и дефис «-»; всего 37 символов. Алгоритм преобразования состоит из двух этапов. На первом этапе из исходного текста выбираются все символы, входящие в основную кодировку ASCII (коды 0—127), и переносятся подряд в закодированное слово. После этого, если в тексте встретились не ASCII-символы, к закодированному слову добавляется дефис, и далее преобразование идёт по процедуре, описанной в .
последовательность символов | кодировка |
---|---|
abcdef | abcdef |
abæcdöef | abcdef-qua4k |
schön | schn-7qa |
ยจฆฟคฏข | 22cdfh1b8fsa |
☺ | 74h |
правда | 80aafi6cg |
台湾 | xn--kprw13d |
См. также
Примечания
- Paul Hoffman. (англ.) . tools.ietf.org (16 октября 2000). Дата обращения: 13 марта 2020. 21 июня 2020 года.
- . REG.RU (30 июня 2010). Дата обращения: 30 сентября 2010. Архивировано из 22 августа 2010 года.
- Adam M. Costello. (англ.) . tools.ietf.org (март 2003). Дата обращения: 13 марта 2020. 10 августа 2020 года.
Ссылки
- (англ.) . Punycoder. Дата обращения: 13 марта 2020.
- 2020-07-17
- 1