2

例えば:

Firefox に παιχνιδια.com と入力すると、自動的に xn--kxadblxczv9d.com に変換されます。

そのような変換を行うためのツールを提案してください。


最も簡単なのはこれです。変換と可用性のチェックを同時に行います。

4

5 に答える 5

2

ブラウザ内で実行する場合は、この回答のコードをpuny.jsとして保存し、以下のコードをpuny.htmlとして保存してから、ファイルをブラウザにロードします。

<html>
    <title>Punyconverter</title>
    <script type="text/javascript" src="puny.js"></script>
    <style type="text/css">
        input {width:300px;}
        label {width:100px; display:inline-block;}
    </style>
    <script type="text/javascript">
        onload = function( ) {
            var ASCII = document.getElementById("ASCII");
            var Unicode = document.getElementById("Unicode");
            var Input = document.getElementById("Input");

            Input.onkeyup=function(){
                ASCII.value = punycode.ToASCII( this.value);
                Unicode.value = punycode.ToUnicode( this.value);
            }
        };
    </script>
</html>
<body>
    <h1>Convert puny coded IDN</h1>
    <div><label for="Input">Input</label><input id="Input" type="text"></div>
    <div><label for="ASCII">ASCII</label><input id="ASCII" type="text" readonly="readonly"></div>
    <div><label for="Unicode">Unicode</label><input id="Unicode" type="text" readonly="readonly"></div>
</body>
于 2010-09-28T09:18:34.210 に答える
1

国際化ドメイン名(つまり、非ASCII文字のドメイン名)は、Punycodeシステムを使用してエンコードされます。

于 2010-09-16T13:12:37.787 に答える
1

Python でIDNA をエンコードおよびデコードします。

>>> print u'παιχνιδια'.encode('idna')
xn--mxaaitabzv9d
>>> print 'xn--mxaaitabzv9d'.decode('idna')
παιχνιδια
于 2010-09-16T13:15:31.683 に答える
1

「Libidn」をサポートする任意のツールを使用できます。簡単な検索で、 SimpleDNSが役立つ可能性があることがわかりました。

IDN オンラインのコンバーターは山ほどあります。それで十分な場合は、そのうちの1 つを使用できます。

于 2010-09-16T13:09:50.050 に答える
1

Perl と Apache の標準モジュールは、URI モジュールでそれを行うことができます。

use URI;
#insert sitename in next:
$sitename = "..";
my $uri = URI->new( $sitename,'http');
if ($uri->scheme) { print $uri; }
于 2015-12-17T22:55:42.777 に答える