いろいろ備忘録日記

主に .NET とか Go とか Flutter とか Python絡みのメモを公開しています。

URLエンコードとデコード(System.Web.HttpUtility)

なにげに、該当クラスを探すのに手間取ったのでメモメモ。


URLエンコードとデコードを行うクラスは、以下にあります。

System.Web.HttpUtility.UrlEncode(UrlDecode)
using System;
using System.Text;
using System.Web;

namespace T{
    
    public class Sample{
        static void Main(){
            string val = "テスト文字列";

            // Encodingを指定していない場合は、UTF-8エンコードされる
            Console.WriteLine(HttpUtility.UrlEncode(val)); 
            Console.WriteLine(HttpUtility.UrlEncode(val, Encoding.GetEncoding("SJIS")));

            Console.WriteLine(HttpUtility.UrlDecode(HttpUtility.UrlEncode(val)));
            Console.WriteLine(
                    HttpUtility.UrlDecode(
                        HttpUtility.UrlEncode(val, Encoding.GetEncoding("SJIS")), 
                        Encoding.GetEncoding("SJIS")));
        }
    }
}