Namespaces
Variants

std::text_encoding:: comp-name

From cppreference.net
static constexpr bool /*comp-name*/ ( std:: string_view a, std:: string_view b ) ;
(desde C++26)
( solo para exposición* )

Compara dos cadenas a y b codificadas en codificación literal ordinaria siguiendo las reglas de Unicode Charset Alias Matching .

Dos cadenas se consideran iguales al comparar de izquierda a derecha después de:

  • eliminar todos los caracteres no alfanuméricos,
  • convertir todas las letras al mismo caso, y
  • eliminar cualquier secuencia independiente de '0' que no siga inmediatamente a un prefijo numérico. Un prefijo numérico consiste en un dígito distinto de cero ( '1' a '9' ) seguido opcionalmente por uno o más caracteres no alfanuméricos.

Aquí están los siguientes ejemplos:

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

Parámetros

a, b - cadenas a comparar

Valor de retorno

true si dos cadenas comparan igual como se describe anteriormente; false en caso contrario.