C#のUri.HexEscape(Char)メソッドとは?使い方とサンプルコードを解説
C#のUri.HexEscape()メソッドは、指定した1文字をURIエスケープ形式の16進数表現(%XX形式)に変換するための静的メソッドです。URLエンコード処理などで特定の文字をエスケープしたい場合に活用できます。
構文
Uri.HexEscape()メソッドの構文は以下の通りです。
public static string HexEscape (char ch);
引数chには、16進数表現に変換したい文字を指定します。戻り値は、「%」記号に続いて2桁の16進数で表された文字列です。
ポイント
- 戻り値は必ず「%」から始まる3文字の文字列になります(例:%6B)。
- 引数の文字コードが255(0xFF)を超える場合は、ArgumentOutOfRangeExceptionがスローされます。
サンプルコード1
まずは、文字「k」をUri.HexEscape()メソッドで変換する例を見てみましょう。
using System;
public class Demo {
public static void Main(){
char ch = 'k';
string res = Uri.HexEscape(ch);
Console.WriteLine("Hexadecimal Equivalent = "+res);
}
}実行結果
上記のコードを実行すると、以下の出力が得られます。
Hexadecimal Equivalent = %6B
文字「k」のASCIIコードは10進数で107、16進数では「6B」であるため、「%6B」という結果が返されています。
サンプルコード2
続いて、別の文字「P」を変換する例です。
using System;
public class Demo {
public static void Main(){
char ch = 'P';
string res = Uri.HexEscape(ch);
Console.WriteLine("Hexadecimal Equivalent = "+res);
}
}実行結果
上記のコードを実行すると、以下の出力が得られます。
Hexadecimal Equivalent = %50
文字「P」のASCIIコードは10進数で80、16進数では「50」であるため、「%50」という結果が返されています。
まとめ
Uri.HexEscape()メソッドを使うことで、任意の1文字を簡単に「%XX」形式の16進数エスケープ表現へ変換できます。URIの構築やエンコード処理を行う際に、覚えておくと便利なメソッドです。
-
C#のChar.ToLowerInvariant(Char)メソッドとは?使い方とサンプルコードを解説
C#のChar.ToLowerInvariant()メソッドは、カルチャに依存しない(インバリアントカルチャ)大文字・小文字の規則に基づいて、指定されたUnicode文字の値を対応する小文字に変換します。通常のToLower()メソッドは実行環境のカルチャ設定によって結果が変わる可能性がありますが、ToLowerInvariant()は常に一定の規則で変換されるため、カルチャの違いによる予期しない動作を避けたい場合に適しています。構文このメソッドの構文は以下のとおりです。public static char ToLowerInvariant (char ch);パラメータchには、小文字に変換
-
C#のChar.ToUpperInvariant(Char)メソッドとは?構文とサンプルコードを解説
C# の Char.ToUpperInvariant() メソッドは、インバリアントカルチャ(カルチャに依存しない固定の規則)の大文字・小文字の規則に基づいて、Unicode 文字の値を対応する大文字に変換するためのメソッドです。 このメソッドは静的(static)メソッドであり、実行環境のカルチャ設定に影響されない点が大きな特徴です。そのため、どの地域や言語設定の環境で実行しても常に同じ結果が得られます。トルコ語のように大文字化の挙動がカルチャによって変わる文字(例:i → I / İ)を扱う場合でも、安定した動作が求められる場面で特に有用です。 構文 public static char