SQLの窓

2013年05月30日


Win8 ストア : UrlEncode と UrlDecode

System.Net.WebUtility を使用します。( Windows8 のサンプルコードの 『Push and periodic notifications client-side sample』内にある Helper.cs に使用例が少しあります ) 

内部コードにあわせて、UTF8 のみ文字列のまま変換できますが、他のキャラクタセットではいったんバイト配列に変換して処理する必要があります。
// Shift_JIS で UrlEncode された文字列
string str_sjis_urlencode = "%93%FA%96%7B%8C%EA%95%5C%8E%A6";
// バイト配列に変換
byte[] sjis_data1 = Encoding.GetEncoding("SHIFT_JIS").GetBytes(str_sjis_urlencode);
// バイト配列状態で UrlDecode
byte[] sjis_data2 = WebUtility.UrlDecodeToBytes(sjis_data1, 0, sjis_data1.Length);
// バイト配列を内部コード表現の文字列に戻す
string sjis_data3 = Encoding.GetEncoding("SHIFT_JIS").GetString(sjis_data2, 0, sjis_data2.Length);
Debug.WriteLine("Shift_JIS:" + sjis_data3);

// Shift_JIS の UrlEncode に変換したい文字列
str_sjis_urlencode = "日本語表示";
// バイト配列に変換
sjis_data1 = Encoding.GetEncoding("SHIFT_JIS").GetBytes(str_sjis_urlencode);
// バイト配列状態で UrlEncode
sjis_data2 = WebUtility.UrlEncodeToBytes(sjis_data1, 0, sjis_data1.Length);
// バイト配列を内部コード表現の文字列に戻す
sjis_data3 = Encoding.GetEncoding("SHIFT_JIS").GetString(sjis_data2, 0, sjis_data2.Length);
Debug.WriteLine("Shift_JIS:" + sjis_data3);

// UTF8 で UrlEncode された文字列
string str_utf8_urlencode = "%E6%97%A5%E6%9C%AC%E8%AA%9E%E8%A1%A8%E7%A4%BA";
string str_urldecode = WebUtility.UrlDecode(str_utf8_urlencode);
Debug.WriteLine("UTF8:" + str_urldecode);

// UTF8 で UrlEncode したい文字列
str_urldecode = "日本語表示";
str_utf8_urlencode = WebUtility.UrlEncode(str_urldecode);
Debug.WriteLine("UTF8:" + str_utf8_urlencode);


以下定義の表示
#region アセンブリ System.Runtime.Extensions.dll, v4.0.0.0
// C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETCore\v4.5\System.Runtime.Extensions.dll
#endregion

using System;

namespace System.Net
{
	// 概要:
	//     Web 要求の処理時に URL をエンコードおよびデコードするためのメソッドを提供します。
	public static class WebUtility
	{
		// 概要:
		//     HTTP 伝送用に HTML エンコードされている文字列を、デコードされた文字列に変換します。
		//
		// パラメーター:
		//   value:
		//     デコードする文字列。
		//
		// 戻り値:
		//     デコードされた文字列。
		public static string HtmlDecode(string value);
		//
		// 概要:
		//     文字列を、HTML エンコードされた文字列に変換します。
		//
		// パラメーター:
		//   value:
		//     エンコードする文字列。
		//
		// 戻り値:
		//     エンコードされた文字列。
		public static string HtmlEncode(string value);
		//
		public static string UrlDecode(string encodedValue);
		//
		public static byte[] UrlDecodeToBytes(byte[] encodedValue, int offset, int count);
		//
		public static string UrlEncode(string value);
		//
		public static byte[] UrlEncodeToBytes(byte[] value, int offset, int count);
	}
}


【Win8 ストアアプリの最新記事】
posted by lightbox at 2013-05-30 20:37 | Win8 ストアアプリ | このブログの読者になる | 更新情報をチェックする
container 終わり



フリーフォントで簡単ロゴ作成
フリーフォントでボタン素材作成
フリーフォントで吹き出し画像作成
フリーフォントではんこ画像作成
ほぼ自由に利用できるフリーフォント
フリーフォントの書体見本とサンプル
画像を大きく見る為のウインドウを開くボタンの作成

CSS ドロップシャドウの参考デモ
イラストAC
ぱくたそ
写真素材 足成
フリーフォント一覧
utf8 文字ツール
右サイド 終わり
base 終わり