はじめに
事前に準備する外部ライブラリ等はありません。
JavaSEに含まれるjava.net.IDNクラスを使用します。
実装例
サンプルでは、動作確認しやすいようにmainメソッドで実行できるようにしてあります。
結果だけを確認したい場合は、この記事の一番下のリンク先で使えるようにしてありますのでご覧ください。
PunycodeDecoder.java
import java.net.IDN; /** * * @author tool-taro.com */ public class PunycodeDecoder { public static void main(String[] args) { //デコードしたい文字列 String source = "xn--gck6bth.com"; //デコード処理 String result = IDN.toUnicode(source); //標準出力 System.out.format("デコード結果=%1$s", result); } }
動作確認
$ javac PunycodeDecoder.java $ java PunycodeDecoder $ デコード結果=タロウ.com
環境
- 開発
- Windows 10 Pro
- JDK 1.8.0_74
- NetBeans IDE 8.1
- 動作検証
- CentOS Linux release 7.2
- JDK 1.8.0_74
上記の実装をベースにWebツールも公開しています。
Punycodeデコード(Punycode Decode)|Web便利ツール@ツールタロウ