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つの文字列aとbを比較します。
文字列は、左から右へ比較する際に、以下の処理を行った後に等しいとみなされます。
- すべての英数字以外の文字を削除する。
- すべての文字を同じケースに変換する。
- 数字プレフィックスに直接続かない、独立した「'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を返します。