What is the easiest way to convert an IDN (such as президент.рф) to Punycode in bash?


Take a look at the idn:

[U] net-dns/libidn
     Available versions:  1.22 (~)1.22-r1 {doc elibc_FreeBSD emacs java mono nls static-libs}
     Installed versions:  1.22(03:12:19 PM 07/04/2011)(nls static-libs -doc -elibc_FreeBSD -emacs -java -mono)
     Homepage:            http://www.gnu.org/software/libidn/
     Description:         Internationalized Domain Names (IDN) implementation

For e.g:

$ echo "президент.рф" | idn
| improve this answer | |
  • 1
    In Ubuntu can be installed by apt install idn – PeterM Oct 27 '16 at 11:31

Assuming you have python on your system, python -c 'import sys;print sys.argv[1].decode("utf-8").encode("idna")' "президент.рф" would do the trick.

| improve this answer | |

In MacOS brew install homebrew/versions/libidn2.

Then echo "президент.рф" | idn2.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.