Punycode

Из Википедии, свободной энциклопедии

Punycode ([ˈpjuːniˌkəʊd]), также паникод, пюникод[1] или пьюникод[2][3] — стандартизированный метод преобразования последовательностей Unicode-символов в так называемые ACE-последовательности (англ. ASCII-compatible encoding — кодировка, совместимая с ASCII[4]), которые состоят только из алфавитно-цифровых символов, как это разрешено в доменных именах.

Punycode был разработан для однозначного преобразования доменных имен в последовательность ASCII-символов. Используется в большинстве браузеров[5]. Существуют также специальные программы или сервисы, называемые Punycode-конвертерами, позволяющие осуществлять кодирование/декодирование последовательности Unicode-символов в ACE и наоборот.

Причины использования

Важнейшей причиной введения Punycode был тот факт, что в утверждённой стандартом системе доменных имен разрешены только 26 символов латинского алфавита, цифры от 0 до 9 и дефис. Для английского и некоторых других языков на основе латинского алфавита этого достаточно, однако другие языки могут содержать дополнительные символы, например, ä, ö или ü.

Правила преобразования

В качестве базисных символов выступают символы латинского алфавита a—z (без различия между прописными и строчными буквами), цифры от 0 до 9 и дефис «-»; всего 37 символов. Алгоритм преобразования состоит из двух этапов. На первом этапе из исходного текста выбираются все символы, входящие в основную кодировку ASCII (коды 0—127), и переносятся подряд в закодированное слово и добавляется дефис. После этого, если в тексте встретились не ASCII-символы, к закодированному слову добавляются символы, преобразование которых идёт по процедуре, описанной в RFC 3492[6]. Если в исходном тексте символы ASCII отсутствовали, дополнительный дефис не используется. Поскольку дефис сам является символом ASCII, то при его наличии в исходном тексте он включается в выборку и дополнительный дефис используется после выборки символов ASCII.

Подробнее последовательность символов, кодировка ...
Примеры
последовательность символов кодировка
abcdef abcdef-
abæcdöef abcdef-qua4k
schön schn-7qa
ยจฆฟคฏข 22cdfh1b8fsa
74h
правда 80aafi6cg
台湾 xn--kprw13d
Закрыть

См. также

Примечания

Ссылки

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.