「Java」decodeでURL文字列をutf-8でデコードする

2021年9月3日

構文
public static String decode(String s,String enc)
throws UnsupportedEncodingException
特定のエンコーディング方式を使ってapplication/x-www-form-urlencoded文字列をデコード
パラメータ:
s – デコードするStringenc – サポートされる文字エンコーディングの名前。
戻り値:
新しくデコードされたString
使用例

package com.arkgame.demo;

import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;

public class DecodeDemo {

      private static final String pt = "UTF-8";

      public static void main(String[] args) 
                  throws UnsupportedEncodingException {

            String url = "test%2buser+%E3%83%86%E3%82%B9%E3%83%88";
            System.out.println("URLデコードbefore:\n" + url);

            // エンコードされたURL文字列をdecode
            String result = decodeFunc(url);
            System.out.println("URLデコードafter:\n" + result);
      }

      // 文字列をデコード
      public static String decodeFunc(String str) 
                  throws UnsupportedEncodingException {
            // 特定のエンコーディング方式を使って
            //application/x-www-form-urlencoded文字列をデコードする
            String target = URLDecoder.decode(str, pt);
            return target;

      }

}

結果
URLデコードbefore:
test%2buser+%E3%83%86%E3%82%B9%E3%83%88
URLデコードafter:
test+user テスト

Java

Posted by arkgame