C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#のChar.ConvertFromUtf32(Int32)メソッドの使い方を解説

概要

C#のChar.ConvertFromUtf32(Int32)メソッドは、指定されたUnicodeコードポイントをUTF-16でエンコードされた文字列に変換するための静的メソッドです。サロゲートペアが必要な補助文字(U+10000以上のコードポイント)も、このメソッドを使えば正しく文字列として取得できます。

構文

構文は以下の通りです。

public static string ConvertFromUtf32 (int utf32);

引数 utf32 には、変換対象となる21ビットのUnicodeコードポイントを指定します。

発生しうる例外

  • ArgumentOutOfRangeException: utf32が有効なUnicodeコードポイントの範囲(0 ~ 0x10FFFF)外である場合にスローされます。
  • ArgumentException: utf32がサロゲートコードポイントの範囲(0xD800 ~ 0xDFFF)である場合にスローされます。

使用例

それでは、Char.ConvertFromUtf32(Int32)メソッドを使用した例を見てみましょう。

using System;
public class Demo {
   public static void Main(){
      int utf = 0x0051;
      string str = Char.ConvertFromUtf32(utf);
      Console.WriteLine("Value = "+str);
  }
}

出力

上記のコードを実行すると、次の出力が得られます。

Value = Q

この例では、16進数の「0x0051」に対応する文字「Q」が出力されています。

別の使用例

もう一つ例を見てみましょう。

using System;
public class Demo {
   public static void Main(){
      int utf = 0x0046;
      string str = Char.ConvertFromUtf32(utf);
      Console.WriteLine("Value = "+str);
  }
}

出力

実行結果は以下の通りです。

Value = F

このように、ConvertFromUtf32メソッドにコードポイント「0x0046」を渡すと、対応する文字「F」が返されます。

まとめ

Char.ConvertFromUtf32(Int32)メソッドは、Unicodeコードポイントから文字列を簡単に生成できる便利なメソッドです。通常のASCII文字だけでなく、絵文字などの補助文字にも対応しているため、国際化対応のアプリケーション開発でも活用できます。ただし、無効なコードポイントやサロゲート範囲の値を渡すと例外が発生するため、入力値の検証を行うことをおすすめします。

  1. C#のChar.ToUpperInvariant(Char)メソッドとは?構文とサンプルコードを解説

    C# の Char.ToUpperInvariant() メソッドは、インバリアントカルチャ(カルチャに依存しない固定の規則)の大文字・小文字の規則に基づいて、Unicode 文字の値を対応する大文字に変換するためのメソッドです。 このメソッドは静的(static)メソッドであり、実行環境のカルチャ設定に影響されない点が大きな特徴です。そのため、どの地域や言語設定の環境で実行しても常に同じ結果が得られます。トルコ語のように大文字化の挙動がカルチャによって変わる文字(例:i → I / İ)を扱う場合でも、安定した動作が求められる場面で特に有用です。 構文 public static char

  2. 【C#入門】Char.IsControl(String, Int32)メソッドの使い方を解説

    C#のChar.IsControl(String, Int32)メソッドは、指定した文字列の中から指定された位置にある文字が「制御文字」に分類されるかどうかを判定するためのメソッドです。制御文字とは、画面上には表示されず、改行やタブなどの特殊な動作を表す文字のことを指します。構文public static bool IsControl (string str, int index);各パラメータの意味は以下の通りです。str: 判定対象となる文字列index: str 内で評価する文字の位置(インデックス)戻り値はbool型で、指定位置の文字が制御文字であれば true、そうでなければ fal