web-dev-qa-db-ja.com

IDNをbashでPunycodeに変換するにはどうすればよいですか?

IDN(президент.рфなど)をbashでPunycodeに変換する最も簡単な方法は何ですか?

5
Eugene Yarmash

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

例:

$ echo "президент.рф" | idn
xn--d1abbgf6aiiy.xn--p1ai
10
quanta

システムにpythonがあるとすると、python -c 'import sys;print sys.argv[1].decode("utf-8").encode("idna")' "президент.рф"でうまくいきます。

3

MacOSではbrew install homebrew/versions/libidn2

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

1
zored