10 Дек

Перекодирование в Punycode

Автор: "СТРОГИЙ"

Собсно по сабжу. Для перевода рус. домена в англ. символику (т.е. если необходимо добавить на хостинге в панели. скажем, в DirectAdmin-е, либо провести какие-то настройки.работы с сайтом…) Для перекодирования русского имени в Punycode можно воспользоваться, например, утилитой CCODE, выбрав в этой программе перекодирование имени из CP1251 в PUNYCODE.

Также можно воспользоваться нашим online-перекодировщиком.

Для программной перекодировки в Punycode / RACE можно воспользоваться следующими библиотеками: для Perl — IDNA::Punycode, Convert::RACE; для C/C++ — idnkit.

Библиотека функций для Perl для перекодировки в Punycode / RACE, разработанная и используемая в АНО «РЦИ» для собственных нужд: punylib.pm.

Перекодировка в Punicode в языке программирования Python осуществляется встроенными средствами языка (библиотеки unicode) начиная с Python версии 2.3. Имя кодека idna. Пример использования (в интерактивном интерпретаторе):

Python 2.3.2 (#1, Oct  4 2003, 00:31:16) 
[GCC 3.2.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> ru = "ДОМЕНЫ.РУ"
>>> u = unicode(ru, "koi8-r") # Из koi8 в unicode...
>>> u.encode("idna") #... и перекодируем
'xn--d1acufc5f.xn--p1ag'

Библиотеки для перекодировки в Punycode из PHP:
http://pear.speedpartner.de/, http://fastserv.name.net/open_source/php/punycode/

Если в библиотеку socket передать unicode вместо ascii-строки, перекодировка в punicode/idna будет осуществляться автоматически.

Что такое «PunyCode» читаем тут

13 Ответов к Перекодирование в Punycode

  1. А какой принцип перевода? Делаю один сервис, нужно понять саму суть перевода. спс кто поможет

  2. «Спасибо» всем, сам разобрался

  3. "СТРОГИЙ" сказал:

    Вот и ладненько =) разработчиков на сайте видать нет)