Namespaces
Variants

std::text_encoding:: comp-name

From cppreference.net
static constexpr bool /*comp-name*/ ( std:: string_view a, std:: string_view b ) ;
(seit C++26)
( Nur zur Darstellung* )

Vergleicht zwei Zeichenketten a und b , die in gewöhnlicher Literalkodierung gemäß den Unicode Charset Alias Matching -Regeln kodiert sind.

Zwei Zeichenketten werden als gleich betrachtet, wenn beim Vergleich von links nach rechts Folgendes zutrifft:

  • Entfernen aller nicht-alphanumerischen Zeichen,
  • Konvertieren aller Buchstaben in dieselbe Groß-/Kleinschreibung, und
  • Entfernen aller eigenständigen Sequenzen von '0' Zeichen, die nicht unmittelbar auf einen numerischen Präfix folgen. Ein numerischer Präfix besteht aus einer Ziffer ungleich Null ( '1' bis '9' ), optional gefolgt von einem oder mehreren nicht-alphanumerischen Zeichen.

Hier sind die folgenden Beispiele:

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);

Parameter

a, b - zu vergleichende Zeichenketten

Rückgabewert

true wenn zwei Zeichenketten wie oben beschrieben gleich sind; false andernfalls.