
Перекодировка в Punycode
Для перекодирования русского имени в 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 будет осуществляться автоматически.
|