名前空間
変種
操作

std::text_encoding::comp-name

From cppreference.com
< cpp‎ | text‎ | text encoding
 
 
 
 
static constexpr bool /*comp-name*/( std::string_view a, std::string_view b );
(C++26以降)
(説明用*)

Unicode Charset Alias Matchingのルールに従って、通常のリテラルエンコーディングでエンコードされた2つの文字列abを比較します。

文字列は、左から右へ比較する際に、以下の処理を行った後に等しいとみなされます。

  • すべての英数字以外の文字を削除する。
  • すべての文字を同じケースに変換する。
  • 数字プレフィックスに直接続かない、独立した「'0'」のシーケンスを削除する。数字プレフィックスは、ゼロ以外の数字('1'から'9')と、それに任意で続く1つ以上の英数字以外の文字で構成されます。

以下に例を示します。

static_assert(/*comp-name*/("UTF-8", "utf8") == true);
static_assert(/*comp-name*/("u.t.f-008", "utf8") == true);
static_assert(/*comp-name*/("ISO-8859-1", "iso88591") == true);
static_assert(/*comp-name*/("ut8", "utf8") == false);
static_assert(/*comp-name*/("utf-80", "utf8") == false);

[編集] パラメータ

a, b - 比較する文字列。

[編集] 戻り値

上記のように2つの文字列が比較して等しい場合はtrue、それ以外の場合はfalseを返します。

English 日本語 中文(简体) 中文(繁體)