Bash에서 IDN을 Punycode로 어떻게 변환할 수 있나요?

Bash에서 IDN을 Punycode로 어떻게 변환할 수 있나요?

bash에서 IDN(예: президент.рф)을 Punycode로 변환하는 가장 쉬운 방법은 무엇입니까?

답변1

다음을 살펴보세요.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

답변2

시스템에 Python이 있다고 가정하면 python -c 'import sys;print sys.argv[1].decode("utf-8").encode("idna")' "президент.рф"트릭을 수행할 수 있습니다.

답변3

MacOS에서는 brew install homebrew/versions/libidn2.

그 다음에 echo "президент.рф" | idn2.

관련 정보