PunycodePunycode ([ˈ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.
См. такжеПримечания
Ссылки
|
Portal di Ensiklopedia Dunia