понедельник, 17 января 2011 г.

Punycode

http://www.rlnic.ru/technology/punycode.pl

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

Комментариев нет:

Отправить комментарий